mysql_error gibt nichts aus...

Unicate

Erfahrenes Mitglied
Ok mein Problem liegt darin, das ich trotz error_reporting(E_ALL) keine Fehlermeldung bei diesem stück Code bekomme.
sql syntax ist korrekt (sonst würde er beim senden schon meckern)

Ausgabe ist:

Fehler:

danach nichts weiter, obwohl er eigentlich nen error ausgeben sollte.
Code:
$reihe = mysql_query($sql) or die(mysql_error()); //query senden
		
$row = mysql_fetch_array($reihe) or die("Fehler:".mysql_error()); //ersten array empfangen
var_dump($reihe);

Wenn ihr wisst was hier fakt ist, bitte sagt was.
Danke!
 
Dein Statement liefert eine leere Ergebnismenge zurück. Darum ist mysql_fetch_array($reihe) auch "false", aber deine Abfrage ist Syntaktisch korrekt, wodurch in mysql_error nichts drin steht.

Marcus.
 
Ne, das ist Käse, sonst würde
a: der mysql_query() schon nen Fehler melden
b: wenn ich den var_dump() um eine Zeile höher schiebe, würde mir dieser auch keine Resourcen ID ausgeben.

Weiß nicht ob das logisch ist, aber wenn ich das "or die(...) weglasse, geht alles einwandfrei.
Wenn mysql_fetch_array() gar kein true oder false zurück gibt, sondern einfach nur den Array, würde das die() nämlich auch anspringen. So erklär ich mir das jetzt!... naja, etwas wage aber wenigstens ein wenig logisch.

Danke trotzdem für die Mühen!
 
Ich sag ja, dass dein Statement ansich richtig ist. Du bekommst nur eine leere Ergebnismenge zurückgeliefert. ("Select alles from nichts" => nichts) Das heißt du hast keine Datensätze. Wenn Du nun versuchst einen auszulesen schlägt mysql_fetch_array fehl und gibt false zurück. Aber Du hast ja keinen Fehler in Deiner Abfrage darum steht in mysql_error() nichts drin.

$row = false or die("Fehler:".mysql_error()); => die("'Fehler:".'');
 
Zurück