![](/img/trans.png)
[英]Mysqli_query returns false and Mysqli_error returns 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.