我想检查if ($numRows >= 1)
然后它应该返回一些东西。
当我使用$con->mysql("{QUERY}")
时,它可以正常工作。
但是当我使用$stmt = $con->prepare("{QUERY}")
时,它无法正常工作。
有没有人有线索?
<?php
if ($result = $con->query("SELECT username FROM users WHERE username = 'test'")) {
$numRows = $result->num_rows;
echo $numRows;
}
?>
结果:1
<?php
$name = 'test';
$stmt = $con->prepare("SELECT username FROM users WHERE username = ?");
$stmt->bind_param('s', $name);
$name = 'test';
$stmt->execute();
$numRows = $stmt->num_rows;
echo $numRows;
?>
结果:0
答案 0 :(得分:2)
在调用SELECT
方法之前,您需要从->num_rows()
查询中传输结果集。
// your code
$stmt->execute();
$stmt->store_result();
$numRows = $stmt->num_rows;
echo $numRows;
以下是参考资料: