0
我有以下代碼的通用代碼段,用於嘗試並捕獲mysqli錯誤,並將它們放入表中我將保留錯誤日誌。我只是把一個普通的SQL語句,將錯誤的例子:php mysqli - 回滾後插入語句以記錄錯誤不起作用
$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");
}
事務回滾,但從來都沒有被寫入到my_error_log表。
感謝您的幫助!
您在該代碼中容易受到SQL注入攻擊,這意味着'$ err'可能包含'''並且正在殺死插入。 –