P粉1619397522023-09-06 12:49:44
您可以透過停用 mysqli 錯誤報告來做到這一點,但任何常規項目都不應該這樣做。事實上,看來您正在以錯誤的方式解決這個問題!您不應該想要停用錯誤報告,您應該修復錯誤!
正如您所提到的,如果錯誤來自錯誤建構的動態 SQL 語句,那麼您的程式碼不應包含任何邏輯來處理這種可能的情況,因為您不想讓錯誤成為設計的一部分。就像其他錯誤一樣,這是 PHP 程式碼中的一個錯誤。它本身表現為 MySQL 錯誤這一事實是無關緊要的。您必須修復建置無效 SQL 語句的程式碼! 沉默錯誤無助於修復錯誤!
假設您的PHP 程式碼從常數SQL 部分建立SQL(如果它使用變量,那麼您的程式碼中就會出現更大的問題),那麼您的任務是確定哪個程式碼路徑導致SQL 關鍵字的不正確組合。您可以從 SQL 錯誤部分推斷出這一點。異常訊息將告訴您語法錯誤是什麼。如果 MySQL 錯誤與損壞的語法無關,則過程仍然類似:找到導致錯誤的原因並修復它。
不要在 SQL 程式碼周圍編寫特殊的錯誤處理邏輯。這很混亂,而且絕對沒有必要。