Gibt es eine Möglichkeit zum drucken der aktuellen Abfrage, mysqli->execute() macht?
Ich habe eine komplexe Abfrage, die ausgeführt wird wie dieser:
if ($stmt = $dbi->prepare($pt_query)) {
$stmt->bind_param('ssssssssi', $snome,$scognome,$ssocieta,$svia,$slocalita,$sprovincia,$scap,$stelefono,$sfax,$uid);
$stmt->execute();
echo $dbi->error;
$stmt->close();
} else {
printf("Error -> %s\n", $dbi->error);
}
Dieser Sache versagt ohne Fehler, es geht einfach nicht, aktualisieren Sie die Datenbank. Da es gibt eine Tonne von Daten, die behandelt wird, bevor diese Sache würde ich gerne wissen, ob es irgendeinen Weg gibt, zu zeigen, die tatsächliche Abfrage, mysqli ausgeführt wird, um zu verstehen, wo das problem ist.
Danke.
- Scheint nicht möglich zu sein. Dupe: stackoverflow.com/questions/962986/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Ihr-Anweisung fehlschlägt, sollten Sie prüfen
$stmt->error
(im Gegensatz zu$dbi->error
). So weit wie immer der eigentliche text der Abfrage: ist es nicht möglich. Bei der Verwendung von prepared statements, die Bibliothek ist über ein spezielles Protokoll, das nicht erzeugen einer eigentlichen Abfrage-string für die jeweilige->execute()
nennen.Könnten Sie auf Protokollierung aktivieren der MySQL-DB selbst, dh. fügen Sie eine log=logfile Linie meinem.ini.
Beziehen sich auf die MySQL-Dokumentation für weitere Informationen, wenn nötig.
Basiert auf der PHP mysql website es gibt keinen wirklichen Weg, es zu tun. Aber Sie können versuchen,diese Funktion, wie es Ihnen die Fehler in Ihrer Abfrage.
Hier ist ein tool, das ich gefunden, die helfen können, MySQLi Prepare-Anweisung checker