php mysqli stmt num_rows 总是返回 0

标签 php mysql mysqli

我在 stackoverflow 上阅读了一些其他相关问题,但没有一个解决我的问题。这是我的代码:

$stmt = $conexion->prepare("SELECT Email, MaxActiv FROM `Keys` WHERE ProdKey = ?");
                $stmt->bind_param('sss', $varKey);
                $stmt->execute();
                //$stmt->bind_result($Email, $MaxActiv);
                $stmt->store_result();
                echo "rows: " . $stmt->num_rows . " - " . $Email;
                //Comprobamos si la key existe (esta comprada)
                if ($stmt->num_rows > 0 ){

但即使该键确实存在于数据库中,它也始终返回 0

最佳答案

您的绑定(bind)参数字符串包含太多字符,“sss”表示它需要 3 个字符串

$stmt->bind_param('sss', $varKey);

应更改为:

$stmt->bind_param('s', $varKey);

关于php mysqli stmt num_rows 总是返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36303419/

相关文章:

java - 如何在 windows 操作系统上用 java 读取和存储非英文字符

php - 警告 : mysqli_set_charset() expects exactly 2 parameters, 1 给出

php - 排行榜 - MySQL 按个人总和排序

php - $_POST 中的问题

php - 基于 Laravel 的条件注册重定向

php - PHP 中的 Session 和 Cookie 有什么区别?

php - Mysqli UPDATE SET WHERE语法错误

php - mysqli_real_escape_string 存在漏洞

MySQL从多对多获取相关表的所有记录

php - 如果 DELETE 查询有效,检查 mysql_query 结果?