我有一个MySQL语句不适合我。我已经检查了代码的几个部分,但它作为结果保持返回null。我也试过替换WHERE enc_mail = AND enc_public_id=" to "WHERE 1"
来检查它是否是变量的问题,但事实并非如此。我也没有得到任何错误。我的MySQL准备好的语句将不起作用
$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
}
我没有看到你在这里检查错误。 – Akintunde007
绝对没有理由同时使用'real_escape_string()'** _和_ **参数化变量。参数化的变量对自己来说已经足够了:)也包括其他任何字符串清理,如果使用参数化变量,则没有必要。摆脱所有这些肯定会有助于您的代码的可读性。 – GrumpyCrouton
@garethpower请添加错误记录部分,以便我们看到如何检查错误 – Progman