php - 我的 MySQL 准备好的语句不起作用

标签 php mysql mysqli prepared-statement

我有一个对我不起作用的 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/

相关文章:

php - 如何在没有额外空格的情况下从 MySQL 检索字符数据?

php - 带有自签名证书的 POST 请求

javascript - 如何在 php 中使用 mysql 按所选国家/地区获取城市

mysql - 如何获取每个月最后一分钟的行?

php - 我正在使用“添加查询”创建 PHP OOP 连接

php - YouTube API缩略图大小顺序已更改?

php - 比较值是否存在于数据库中

php - 无法启用 mysqli 扩展 - PHP 7.1.12,无法连接到数据库

mysql - 数据库 SQL 查询问题错误 #1066

php - 通过 MySQLi 插入的值无法用 mysqli_insert_id 完全插入