您好我应该如何做这项工作:
我想知道为什么当我使用准备好的声明时它不起作用。我尝试使用查询方法,但它确实有效。
这是我尝试过的:
$query = new mysqli('localhost','root', '', 'sample');
$rows = $query->query('SELECT * FROM `sample`.`sample_user` WHERE `userName` = "test" AND `userPass` = "data"');
echo $rows->num_rows; // this returns 1 since I have this record from my database
我正在尝试使用预先准备好的声明来增强它:
$query = new mysqli('localhost','root', '', 'sample');
$prepared = $query->prepare('SELECT * FROM `sample`.`sample_user` WHERE `userName` = ? AND `userPass` = ?');
$prepared->bind_param("ss", $userName, $userPass );
$prepared->execute();
echo $prepared->num_rows; //this returns 0
我坚持这个问题。也许我错过了一些东西。
答案 0 :(得分:1)
是的,你需要返回结果,绑定只是将查询绑定到你提供的参数。
/* Get the result */
$result = $stmt->get_result();
/* Get the number of rows */
$num_of_rows = $result->num_rows;