繁体   English   中英

mysqli_query 在主机上返回 NULL 但在本地主机上工作

[英]mysqli_query returns NULL on host but works on local host

我有一个小的 php web 服务,我在本地测试了它,它可以工作。 当我将它上传到 bluehost 服务器时,由于调用mysqli_query而得到 NULL

$con = connect();
    $userName = mysqli_real_escape_string($con, $userName);
    $email = mysqli_real_escape_string($con, $email);

    $query1 = "select * from `users` where `user_name` = '$userName'";

    $res1 = mysqli_query($con, $query1);
//var_dump($res1)  prints NULL

    if ($res1) {
        $count = mysqli_num_rows($res1);

        if ($count == 0) {
            $query2 = "select * from `users` where `email` = '$email'";
            $res2 = mysqli_query($con, $query2);
            if ($res2) {
                $count2 = mysqli_num_rows($res2);
                if ($count2 == 0) {
                    return 0; //not found before
                } else {
                    return 2; //Email already exists
                }
            }
        } else {
            return 1; //user name already exists
        }
    } else {
        return -1;   //Database Error; // always resturned
    }

编辑1://连接数据库的代码函数connect(){

    $con = mysqli_connect("localhost", "user", "pass", "db");
    if (mysqli_connect_errno()) {
        return 0;
    } else {
        return $con;
    }
}

编辑 2:如果我添加了mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); 在 connect() 方法的第一行中,我什么也没有得到,甚至没有 -1 返回。

这是数据库结构中的问题,我不知道为什么 mySqli 在打印错误消息时没有显示这一点。 我导入了 sql 转储文件并且它起作用了。 抱歉,感谢您的时间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM