有一个简单的查询可以工作,但是如果你输入',那么它就不会工作,因此prepare查询不会尝试这样做,但它会返回 0 作为结果,虽然不是这种情况并且包含在健康)状况。如何解决?我尝试了 throughfetchColumn()和 through $empty = $query->rowCount() === 0;
var_dump($empty); if ($empty),但它们都没有工作。
工作请求(真的有这样的用户,如果不进入)
$checkPoluch = mysqli_query($db, "SELECT * FROM users WHERE login = '$namePol'");
$empty = mysqli_num_rows($checkPoluch);
if ($empty == 0) {
echo "Ошибка!";
exit("");
}
通过prepare(在if进入,即使有这样的登录)
$checkPoluch = "SELECT * FROM users WHERE login = ?";
$query = $db->prepare($checkPoluch);
$query->bind_param("s", $namePol);
$query->execute();
$empty = $query->num_rows;
if ($empty == 0) {
echo "Ошибка!";
exit("");
}
事实证明,有必要在计算行数之前获得结果。编辑后,代码工作并给出了预期的结果: