Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

MYSQL: filter-problem





Frage

$query = "SELECT * FROM movies WHERE genre LIKE '$agenre' AND NOT genre LIKE '$bgenre' AND title LIKE '$title' AND owner LIKE '$owner' AND actor LIKE '$actor' AND director LIKE '$director' ORDER BY title"; bringt irgendwie 0 treffer. $query = "SELECT * FROM movies WHERE genre LIKE '$agenre' AND title LIKE '$title' AND owner LIKE '$owner' AND actor LIKE '$actor' AND director LIKE '$director' ORDER BY title"; funktioniert... gibbet da ein trick? warum versteht er das nicht? fehlermeldung gibt es kein ;/ thx muab

Antwort 1 von draack

Hi,

1. Du benutzt den "LIKE" Operator ohne zu wissen, was Du da tust. "LIKE" hat nur dann einen Sinn, wenn Du ein Jokerzeichen (i.d.R. "%") benutzt. Sonst ist es vollkommener Unsinn. Ein einfaches "=" tut's hier auch. (Nebenbei: Benötigst Du wirklich alle Spalten im Resultset? Du solltest Dich auf die beschränken, die Du wirklich benutzen willst. Mit einem "*" kannst Du leicht unnötige Last generieren.)

2. Da es sich (anscheinend) um einen PHP-Codeschnipsel handelt, solltest Du Dir einfach mal anzeigen lassen was wirklich aus dem Statement gebaut wird. Dann wird's i.d.R. klarer ...

Tschö,
Volker