AND ? Was ist falsch
Sp33dy G0nz4l3s
- datenbank
0 King^Lully0 King^Lully0 Struppi
Hi ich rufe mit folgendem Code Daten aus einer Datenbank ab:
$sql = "SELECT * FROM zubehoer WHERE name LIKE '%$search%' AND kategorie='Säfte' ORDER BY name ASC";
Leider wird kategorie='Säfte' irgendwie nicht berücksichtigt, denn es werden auch Daten aus der kategorie Zubehör angezeigt.
Ist dieser Code so falsch?
Danke für eure Hilfe.
$sql = "SELECT * FROM zubehoer WHERE name LIKE '%$search%' AND kategorie='Säfte' ORDER BY name ASC";
Leider wird kategorie='Säfte' irgendwie nicht berücksichtigt, denn es werden auch Daten aus der kategorie Zubehör angezeigt.
Ist dieser Code so falsch?
Aus welchen Tabellen sollen die Daten denn kommen? Verstehst Du Deine Abfrage?
SELECT
*
FROM
zubehoer
WHERE
(
(name LIKE '%$search%') AND
(kategorie='Säfte')
)
ORDER BY
name ASC
Leider wird kategorie='Säfte' irgendwie nicht berücksichtigt, denn es werden auch Daten aus der kategorie Zubehör angezeigt.
Ist dieser Code so falsch?
Was mir da noch einfällt ist, dass 'name' ein reserviertes Wort sein könnte oder das es ein Umlauteproblem gibt. Zudem würde ich den Inhalt von $search gerne mal sehen, also das tatsächlich versandte SQL.
Vielen Dank für deine Hilfe King^Lully
Das Problem hab ich jetzt gelöst.. war ein bisschen blöd
War in der falschen Zeile^^
$sql = "SELECT * FROM zubehoer WHERE name LIKE '%$search%' AND kategorie='Säfte' ORDER BY name ASC";
Leider wird kategorie='Säfte' irgendwie nicht berücksichtigt, denn es werden auch Daten aus der kategorie Zubehör angezeigt.
Ist dieser Code so falsch?
ich sehe keinen Fehler. Es kann sein, dass du ein Zeichnesatz Problem hast (wegen dem ö)
und ist die Variabel $search sicher?
Das sieht nach einem typischen sql-injection Einfallstor aus.
Struppi.