2012-04-15 5 views
1

anzuzeigen Wenn Ihre Frage nicht korrekt ist, php eine Fehlermeldung ein wie folgt zurückgibt:Kraft PHP voll MySQL Query

Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@aaa.com)' at line 1' in C:\Program Files\... 

Gibt es eine Möglichkeit, es zu zwingen, vollständigen MySQL Query-String in Fehlermeldung angezeigt werden?

aktualisieren:

Ich brauche eine Lösung, die in ganzer Website (in Entwicklungsphase) arbeitet.

Vielleicht über php.ini von my.ini

Ich verwende derzeit ZF für Datenbank-Interaktion.

+0

vielleicht könnten Sie hier http://stackoverflow.com/questions/2411182/how-to-debug-pdo-database-queries – riso

+0

Werkzeug (mysql_error() $ sql.); –

+0

Ich weiß es nicht. Aber was ist mit mysql_error()? Es gibt den SQL-Satz nicht zurück, aber es könnte hilfreich sein. – ezakto

Antwort

3
$stmt = /* PDOStatement */ 
if (!$stmt->execute()) { 

    echo $stmt->queryString; 
} 
+0

Woher kommt 'queryString'? Ich sehe es nicht auf http://nz.php.net/pdo – zerkms

+0

ist eine Member-Variable von PDOStatement, generiert von seiner Methode execute. benutze es einfach, es ist da;) –

+0

richtig, es ist auf http://nz.php.net/manual/en/class.pdostatement.php beschrieben – zerkms