mysqli_query在主机上返回NULL但在本地主机上运行

时间:2014-03-29 06:04:48

标签: php mysql mysqli

我有一个小的PHP网络服务,我在本地测试它,它的工作原理。当我将它上传到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://连接数据库的代码 function connect(){

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

编辑2: 如果我在connect()方法的第一行添加mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);,我什么都没有,即使-1返回也没有。

1 个答案:

答案 0 :(得分:0)

这是数据库结构中的一个问题,我不知道为什么mySqli在打印错误消息时没有显示这个问题。我导入了sql转储文件,它工作正常。对不起,谢谢你的时间。