I have a complex query that gets executed like this:
if ($stmt = $dbi->prepare($pt_query)) {
$stmt->bind_param(\'ssssssssi\', $snome,$scogno
If your statement is failing, you should check $stmt->error
(as opposed to $dbi->error
). As far as getting the actual text of the query: it's not possible. When using prepared statements, the library is using a special protocol that doesn't generate an actual query string for each ->execute()
call.
You could turn on logging on the MySQL DB itself, ie. add a log=logfile line to my.ini.
Refer to the MySQL documentation for more information if needed.
Based on the PHP mysql website there is no actual way of doing it. But you may try this function as it gives you errors in your query.
Here's a tool I found that may help MySQLi Prepare Statement checker