Struppi: where var = ''

Beitrag lesen

Gegeben ist eine Variable $var, welche unabänderlich '' (Wert leere Menge, aber nicht NULL) sein kann.

Ich muss jetzt auswählen:
$sql = "SELECT * FROM Tabelle WHERE var = $var";

Hier ist die Frage, was steht in $var?
Evtl. musst du den Wert quoten oder escapen.

Ein Debug Modus ist für Skripte keine schlechte Idee.
z.b.

print $sql if $DEBUG;

und $DEBUG als globale Variabel defnieren (im Debugmodus != 0)

$qry = mysql_query($sql);
while($row = mysql_fetch_object($qry)){...}

Egal ob $sql
= "SELECT * FROM Tabelle WHERE var = ";
= "SELECT * FROM Tabelle WHERE var = ''";
= "SELECT * FROM Tabelle WHERE var = ``"; oder
= "SELECT * FROM Tabelle WHERE var = ''"; ist, es kommt immer:

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource

Was für ein Argument erwartet die Funktion mysql_fetch_object()?

Das Widersinnige für mich dabei ist, dass, wenn ich unter phpMyAdmin
SELECT * FROM Tabelle WHERE var = '' als Befehl eingebe, einwandfrei die richtigen Zeilen ausgewählt werden.

da deutet darauf hin, dass das Argument für die Funktion einfach falsch ist, was sagt deine Dokumentation?

Struppi.