我有一个对我不起作用的 MySQL 语句。我已经检查了代码的几个部分,但它始终返回 null 作为结果。我还尝试将 WHERE enc_mail = AND enc_public_id="替换为 "WHERE 1"
以检查变量是否有问题,但事实并非如此。我也没有收到错误。
$connect_db = mysqli_connect("myhost","my username","my password","my db");
$mail_id = crypto(mysqli_real_escape_string($connect_db,htmlspecialchars($_GET['em'])),'e');
$public_id = mysqli_real_escape_string($connect_db,htmlspecialchars($_GET['public']));
$active_true = true;
$check = $connect_db->prepare("SELECT active FROM enc_data WHERE enc_mail=? AND enc_pub_id=?");
$check->bind_param("ss", $mail_id, $public_id);
$active = $check->execute();
if($active[0]=="" ){
//It goes here once the code is run
}
最佳答案
您需要应用bind_result
,然后fetch
此外,正如 @GrumpyCrouton 所说,当使用准备好的语句时,绝对没有理由escape_string
我建议您切换到 PDO,因为它更简单
关于php - 我的 MySQL 准备好的语句不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46798271/