OK habs nochmal umgeschrieben.
Hab deins 1 zu 1 kopiert. PHPmyAdmin liefert mir 20 richtige Results. Wenn ich es jedoch im Skript ausführe bekomm ich gar kein Ergebnis. Woran könnte das liegen?
Hab mal alles relevate geschwind zusammengeschrieben.
PHP-Code:
// Parser Ergebnis
SELECT * FROM serverlink WHERE ( (UPPER(serverlink.file) LIKE UPPER('%co%')) OR
(UPPER(serverlink.directory) LIKE UPPER('%co%')) AND (UPPER(serverlink.file)
LIKE UPPER('%val%')) OR (UPPER(serverlink.directory) LIKE UPPER('%val%')))
// Abgeschriebenes Ergebnis:
SELECT * FROM serverlink WHERE(UPPER(serverlink.file) LIKE UPPER('%co%') OR
UPPER (serverlink.directory) LIKE UPPER ('%co%')) AND (UPPER(serverlink.file)
LIKE UPPER ('%val%') OR UPPER (serverlink.directory) LIKE UPPER ('%val%'))
ausführende Datei
include("functions.inc.php");
include("class_db.inc.php");
$string = "co AND val";
$arr = array("serverlink.file","serverlink.directory");
if($home = parse_where($string,$arr,2))
{
$sql = "SELECT * FROM serverlink ".$home;
echo $sql."<br><br>";
$sql = "SELECT * FROM serverlink WHERE(UPPER(serverlink.file) LIKE UPPER('%co%') OR UPPER (serverlink.directory) LIKE UPPER ('%co%')) AND (UPPER(serverlink.file) LIKE UPPER ('%val%') OR UPPER (serverlink.directory) LIKE UPPER ('%val%'))";
echo $sql."<br>";
$db = new MySQL;
if($db->init())
{
$result = $db->select($sql);
echo "<pre>";
print_r($result);
echo "</pre>";
}
else
{echo "Fehler";}
}
else
{
echo "FEHLER";
}
DB Select Funktion:
function select($sql="")
{
if(empty($sql)) {return false;}
if(!eregi("^select",$sql))
{
echo "<h2>Falscher Befehl!</h2>\n";
return false;
}
if(empty($this->CONN)) { return false; }
$conn = $this->CONN;
$results = mysql_query($sql,$conn);
if((!$results) or (empty($results)))
{
return false;
}
$count = 0;
$data = array();
while($row = mysql_fetch_array($results))
{
$data[$count] = $row;
$count++;
}
return $data;
}