php - 简化: mysqli num_rows not working

标签 php mysql mysqli

如何使用 mysqli 输出返回的行数?我下面的代码显示 0,尽管 while 循环 (while $s->fetch() echo $uid;) 显示 2 个结果;

$m = new mysqli(MYSQL_SERVER, MYSQL_USER, MYSQL_PASS, MYSQL_DB);
$s=$m->prepare("SELECT uid FROM user WHERE token=? AND secret=?");
$s->bind_param('ss',$rt, $rs);
$rt='c';
$rs='d';
$s->execute();
$s->bind_result($uid);
$s->fetch();
print_r($s->num_rows); // RESULTS IN 0

最佳答案

您必须在 mysqli_stmt::execute() 之后和 fetch 之前调用 mysqli_stmt::store_result() 才能知道 mysqli_stmt::num_rows :

$s->execute();
$s->store_result();
print_r($s->num_rows);

PHP Document on num_rows

PHP Document on store_result()

关于php - 简化: mysqli num_rows not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13188645/

相关文章:

javascript - 想根据登录 ID 申请 If 条件

PHP SQLSRV 连接 “Failed to get DB handle: could not find driver”

php - 如何在 Wordpress 管理员中获取帖子 ID

php - 从mysql数据到json在数组中创建数组

MySQL : sudo mysqld_safe --skip-grant-tables & hangs

php - MAMP/XAMPP(本地)和 $_POST 的问题

php - 如何让 Selenium 在 Linux 上与 PHP/Firefox3 一起工作

php - Zend Framework 2 RESTful Controller 操作

php - 使用数组查询数据库

php 不从数据库获取图像位置