PHP函数'mysqli_prepare'的输出是什么意思
What does the output of PHP function 'mysqli_prepare' mean
我是 PHP 的新手,准备了 SQL 个句子,我在阅读文档时遇到了一个问题。
函数 'mysqli.prepare' returns 执行时的布尔值。根据文档:
mysqli_prepare()
returns a statement object or FALSE if an error occurred.
这不是对返回值的非常详细的描述。我的意思是,它什么时候会失败?仅当 SQL 语法不正确时?或者当我们尝试执行它但由于任何其他原因它不起作用时(我将最后一个假设基于文档中显示的示例,其中几乎所有脚本都包含在 if
语句中)
基于此,我还有第二个问题:运行 mysqli_prepare()
与 if
一起使用是否是一个好的做法?还是后面我们运行函数$stmt->execute();
的时候应该写if
语句?
查询失败的原因太多了。但是当查询失败时,您可以得到带有 mysqli_error()
和 mysqli_errno()
的错误消息。当查询失败时,mysqli_prepare()
函数将 return FALSE
(而不是 MySQLi 准备语句对象)指示出现错误。您必须使用 if()
语句检查 return 值以处理这种情况。如果你不检查它并尝试 运行 $stmt->execute();
你会得到一个错误,你不能 运行 布尔值的 execute()
方法(值 false
).
关于你的第二个问题:你必须检查 mysqli_prepare()
的 return 值,你必须检查 mysqli_stmt_execute()
的 return 值。您不能跳过检查,否则会出现 mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows etc... expects parameter 1 to be resource.
之类的错误
我是 PHP 的新手,准备了 SQL 个句子,我在阅读文档时遇到了一个问题。
函数 'mysqli.prepare' returns 执行时的布尔值。根据文档:
mysqli_prepare()
returns a statement object or FALSE if an error occurred.
这不是对返回值的非常详细的描述。我的意思是,它什么时候会失败?仅当 SQL 语法不正确时?或者当我们尝试执行它但由于任何其他原因它不起作用时(我将最后一个假设基于文档中显示的示例,其中几乎所有脚本都包含在 if
语句中)
基于此,我还有第二个问题:运行 mysqli_prepare()
与 if
一起使用是否是一个好的做法?还是后面我们运行函数$stmt->execute();
的时候应该写if
语句?
查询失败的原因太多了。但是当查询失败时,您可以得到带有 mysqli_error()
和 mysqli_errno()
的错误消息。当查询失败时,mysqli_prepare()
函数将 return FALSE
(而不是 MySQLi 准备语句对象)指示出现错误。您必须使用 if()
语句检查 return 值以处理这种情况。如果你不检查它并尝试 运行 $stmt->execute();
你会得到一个错误,你不能 运行 布尔值的 execute()
方法(值 false
).
关于你的第二个问题:你必须检查 mysqli_prepare()
的 return 值,你必须检查 mysqli_stmt_execute()
的 return 值。您不能跳过检查,否则会出现 mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows etc... expects parameter 1 to be resource.