我一直在使用PHP中的MySQLi对象,并且习惯于在执行语句之前准备语句。
到目前为止,我主要做了以下操作:
if($stmt = $mysqli->prepare($sql) == false){
return $mysqli->error;
}
通常情况下,当SQL执行失败时,这意味着我的SQL语句基本上是错误的。
以下情况都已经得到确认:
- 已检查确保与MySQL连接
- SQL是正确的,即使返回0行
- 所有相关表已存在
在什么情况下预处理语句会失败?我想知道是否有必要使用 if($stmt = $mysqli->prepare($sql))
检查,或者这只是浪费代码行数?