Anonymus: query OR die

Beitrag lesen

Hi Ano,

so wie es da steht funktioniert alles ausser der Fehlermeldung(DIE),,,

$result = mysql_query("SELECT * FROM $table WHERE test = '$variable' AND test1 = '$variable'") OR DIE ("Access denied");

so wie es da steht funktioniert die fehlermeldung aber die variablen nicht...

$result = mysql_query("SELECT * FROM $table WHERE test = '$variable' AND test1 = '$variable'") OR DIE ("Access denied");

sollte nun verständlich sein...

Nein, ist es nicht. Du hast zweimal identischen Code - der eine geht so, der andere geht anders - irgendwie klappt das nicht.

Ich vermute aber zu erraten, was dein Problem ist.

Wenn du die erste Variante (query geht, aber die() liefert nichts) benutzt, dann ist das ein Kennzeichen dafür, dass dein Query von der Datenbank ordnungsgemäß akzeptiert wurde - und genau das willst du haben.

Deine zweite Variante (die Anführungsstriche denke ich mir mal weg) schickt der Datenbank einen ungültigen Query, die Datenbank meckert, und die() wird aktiv.

In beiden Fällen ist die() aber nicht geeignet, eine Meldung mit dem Sinngehalt "Access denied" auszuwerfen. Die korrekte Meldung im Programmablauf müßte lauten "Fehlerhafter SQL-Query an Datenbank gesendet - keine gültige Abfrage!", und mit mysql_error() sollte dann zu erfahren sein, was MySQL nicht paßt:
or die("SQL-Query fehlerhaft: ".mysql_error());

Wenn du Zugriffskontrollen machen willst, geht das anders. Wie, erkläre ich dir aber nicht - keiner weiß, wer du bist und was du möglicherweise schlimmes anstellst.

Gruss
Ano