php - 确定准备好的语句是否未返回任何行

标签 php mysqli prepared-statement

我正在对我已经工作的 mysqli 查询实现准备好的语句。我在使用 if(mysqli_num_rows($result) == 0) 行时遇到问题,因为它现在是一个字符串而不是 mysqli_result。

if($nameAvailableStmt = mysqli_prepare($link, 'SELECT name FROM usetbl1 WHERE name=? LIMIT 1'))
{
    mysqli_stmt_bind_param($nameAvailableStmt, "s", $_POST['dangerous']);
    mysqli_stmt_execute($nameAvailableStmt);
    mysqli_stmt_bind_result($nameAvailableStmt, $result);
    mysqli_stmt_fetch($nameAvailableStmt);
}
if(mysqli_num_rows($result) == 0)

最佳答案

应该是:

mysqli_stmt_store_result($nameAvailableStmt);
if(mysqli_stmt_num_rows($nameAvailableStmt) == 0)

请参阅Documentation

关于php - 确定准备好的语句是否未返回任何行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17054131/

相关文章:

php - 使用子查询在 mysql 中构建嵌套对象

带有 Logo 的 PHP QRCODE 生成器

java - JDBC - 如何在准备好的语句中设置 char

php - 是否可以使用(使用 PHP)先前在 mysql CLI 中声明的准备好的语句?

php - 在 mysqli 中多次使用相同的 Binder

php - mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?

Java 准备语句语法

php - 是否有 PHP 可以循环的最大迭代次数?

php - 如何将 html 格式的数据条目导出到 .csv 文件?

php - 从数据库获取数据时数组的问题