我有一个小的PHP网络服务,我在本地测试它,它的工作原理。当我将它上传到bluehost服务器时,我因调用mysqli_query
$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返回也没有。
答案 0 :(得分:0)
这是数据库结构中的一个问题,我不知道为什么mySqli在打印错误消息时没有显示这个问题。我导入了sql转储文件,它工作正常。对不起,谢谢你的时间。