You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中num_rows输出异常问题求助

问题分析与解决

哈哈,这个坑我之前也踩过!问题的核心是PHP中die()(和exit()是同一个函数)处理参数的特殊逻辑,你没注意到它对整数和字符串的不同处理:

  • 当你直接传整数(比如die($stm->num_rows),这里num_rows的值是整数4)时,die()会把这个整数当成脚本的退出状态码——这是给操作系统看的,不会在浏览器或控制台输出任何内容,所以你看不到结果。
  • 但当你把整数和字符串拼接成'Records '.$num时,整个表达式变成了字符串类型,这时候die()就会把这个字符串输出到页面,然后终止脚本,所以你能看到Records 4。

几种直接输出记录数的方法

想要直接输出数字4,你可以试试这些写法:

  1. 把数字转成字符串再传给die

    die((string)$stm->num_rows); // 页面会输出4
    
  2. 先echo输出,再终止脚本

    echo $stm->num_rows;
    die();
    
  3. 用双引号包裹变量,自动转字符串

    die("$num"); // 同样会输出4
    
  4. 开发调试时用var_dump,能看到类型和值

    var_dump($stm->num_rows); // 输出int(4)
    die();
    

另外提一句:你代码里调用store_result()的步骤是对的——mysqli预处理语句执行后,必须先调用store_result()把结果集存到内存里,才能正确获取num_rows,这部分你没出错~

内容的提问来源于stack exchange,提问作者sridhar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:58:15