Sönke Tesch: Suchscript

Beitrag lesen

Kann mir bitte jemand sagen, was an meinem Suchskript falsch ist ?
Hintergrund : Das Suchskript ist so angedacht, dass Daten aus einer SQL-Datenbank ausgelesen werden soll. Das Ergebis der Ausgabe soll nun abwechselnd farbig sein. Beim Testen des Script bekomme ich weder eine Fehlermeldung noch das gewünschte Ergebnis :

$abfrage       = "Select url,titel,disc from suche where url like'%".$query."%' or titel like'%".$query."%' or disc like'%".$query."%' order by titel,disc";

$Query_Result  = mysql_query($abfrage);
  $Anzahl_Zeilen = mysql_affected_rows();

Tja, man sollte schon prüfen, ob eine Abfrage erfolgreich war, und falls nicht, einen Fehler ausgeben.

if (! $Query_Result  = mysql_query($abfrage))
    {
     echo mysql_error($db);
    }
   else
    ...

Dann hätte er bestimmt auch etwas in dieser Art ausgegeben:

You have an error in your SQL syntax near '%blabla%' at line 1

Und dann hättest Du mal geschaut und festgestellt, daß hinter sämtlichen LIKEs ein Leerzeichen fehlt.

Der Rest schien mir flüchtigerweise ok zu sein.

Gruß,
  soenk.e

PS: $query solltest Du in den Abfragen mit mysql_escape_string() oder addslashes() sichern, sofern PHP das bei Dir nicht schon automatisch macht.