P粉1619397522023-09-06 12:49:44
您可以通过禁用 mysqli 错误报告来做到这一点,但任何常规项目都不应该这样做。事实上,看来您正在以错误的方式解决这个问题!您不应该想要禁用错误报告,您应该修复错误!
正如您所提到的,如果错误来自错误构建的动态 SQL 语句,那么您的代码不应包含任何逻辑来处理这种可能的情况,因为您不想让错误成为设计的一部分。就像任何其他错误一样,这是 PHP 代码中的一个错误。它本身表现为 MySQL 错误这一事实是无关紧要的。您必须修复构建无效 SQL 语句的代码! 沉默错误无助于修复错误!
假设您的 PHP 代码从常量 SQL 部分构建 SQL(如果它使用变量,那么您的代码中就会出现更大的问题),那么您的任务是确定哪个代码路径导致 SQL 关键字的不正确组合。您可以从 SQL 错误中部分推断出这一点。异常消息将告诉您语法错误是什么。如果 MySQL 错误与损坏的语法无关,则过程仍然类似:找到导致错误的原因并修复它。
不要在 SQL 代码周围编写特殊的错误处理逻辑。这很混乱,而且绝对没有必要。