I have the following generic snippet of code I use to try and catch mysqli errors and put them into a table I have that would keep a log of the errors. I just put in a generic SQL statement that would error for the example:
$sql = "UPDATE table_x SET mycol = 1/0";
if(!$conn->query($sql))
{
$err = $conn->error;
$conn->rollback();
$conn->query("INSERT INTO my_error_log (page_name, error_text, time_stamp) VALUES ('" . basename(__FILE__) . " Line:" . __LINE__ . "', '$err', NOW())");
$conn->commit();
die("Error occurred");
}
The transaction rolls back, but nothing ever gets written to the my_error_log table.
Thanks for the help!