2012-04-13 4 views
2

Wie kann ich einen Abruffehler oder leere Ergebnis von einem Ausführungsfehler mit PHP PDO Mysql-Treiber erkennen?stellen Sie sicher, dass PDO fetch Methode Ergebnis "false" ist ein Fehler oder leeres Ergebnis

Also, ich Vorbereitung Anweisung mit PDO, dann ausführen SQL, und der Status ist wahr, weil es keinen Fehler gibt. Dann hole ich das Ergebnis, und in diesem speziellen Fall ist eine Zeile mit der ID = 432 nicht vorhanden. Also holt die Methode fetch false zurück. Mein Problem ist, dass die Fetch-Methode auch bei einem Fehler false zurückgibt!

Wie kann ich sicher sein, dass holen "false" Ergebnis ist ein Fehler oder leeres Ergebnis?

Antwort

0

Wenn ein Fehler auftritt, wird PDO eine Ausnahme auslösen, die Sie fangen können. Wickeln Sie Ihren Code mit einem Versuch fangen und das sollte alle Ausnahmen fangen.

try { 
    $rs = $db->prepare('SELECT * FROM foo'); 
    $rs->execute(); 
    $foo = $rs->fetchAll(); 
} catch (Exception $e) { 
    echo 'Error: '.$e->getMessage(); 
} 
+4

Dazu muss PDO :: ATTR_ERRMODE entsprechend gesetzt sein: http://us.php.net/manual/de/pdo.setattribute.php – DCoder

Verwandte Themen