Hallo,
Ich möchte eine Tabelle nach mehreren Stichwörtern durchsuchen. Zuerst wird dazu der Suchstring in ein Array eingelesen. Dann wird mit einer for-Schleife der query zusammengesetzt: Das sieht dann bei mir so aus:
Die Tabelle in der DB alfakle_DB1 heisst 'dateien' , die zu durchsuchenden Spalten 'desc' und 'pfad'.
Leider scheint das nicht zu funktionieren. Ich erhalte folgende Fehlermeldung: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in blabalblablab Zeile 223...
Wenn ich mir den Fehler ein wenig genauer beschreiben lass (mit
erhalte ich folgende Meldung:
...was stimmt bei meiner Syntax nicht??? ist da ein ', " oder & zuviel?? Der Suchstring sieht dann z.B so aus:
SELECT * FROM dateien WHERE (desc like '%Ausdruck1%' OR pfad like '%Ausdruck1%') AND (desc like '%Ausdruck2%' OR pfad like '%Ausdruck2%') ... es funktioniert übrigens auch nicht, wenn ich nur einen suchstring übergebe..
hoffe, es kann mir jemand helfen. Danke.
Ich möchte eine Tabelle nach mehreren Stichwörtern durchsuchen. Zuerst wird dazu der Suchstring in ein Array eingelesen. Dann wird mit einer for-Schleife der query zusammengesetzt: Das sieht dann bei mir so aus:
PHP-Code:
$sucharray = explode(' ',$suchstring);
$query = "SELECT * FROM dateien WHERE "; //Anfang der Abfrage
for($i=0; $i<count($sucharray); $i++)
{
$query .= "(desc like '%".$sucharray[$i]."%' OR pfad like '%".$sucharray[$i]."%')";
if($i<count($sucharray)-1)
{
$query .= ' AND '; //Verknüpfung der einzelnen Worte mit UND
}
}
$conn = @mysql_connect($dbserver,$dbuser,$dbpass);
mysql_select_db ("alfakleb_DB1");
if (!$conn)
{
die ("Sorry, Verbindungsaufbau zur Datenbank ist fehlgeschlagen !");
}
//..
//Tabellenkopf...(nicht so wichtig...)
//...
$result = mysql_query($query, $conn);
// Ausgabe
while ($ausgabe = mysql_fetch_array ($result, MYSQL_ASSOC))
{
//...
//...Daten darstellen..
}
print "</table>";
mysql_close ($conn);
Leider scheint das nicht zu funktionieren. Ich erhalte folgende Fehlermeldung: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in blabalblablab Zeile 223...
Wenn ich mir den Fehler ein wenig genauer beschreiben lass (mit
PHP-Code:
echo mysql_errno() . ": " . mysql_error() . "\n";
PHP-Code:
1064: You have an error in your SQL syntax near 'desc like '%dsaf%' OR pfad like '%dsaf%')' at line 1
SELECT * FROM dateien WHERE (desc like '%Ausdruck1%' OR pfad like '%Ausdruck1%') AND (desc like '%Ausdruck2%' OR pfad like '%Ausdruck2%') ... es funktioniert übrigens auch nicht, wenn ich nur einen suchstring übergebe..
hoffe, es kann mir jemand helfen. Danke.
Kommentar