define("DB_HOST", "localhost");
define("DB_USER", "root");
define("DB_PASSWORD", "");
define("DB_DATABASE", "testing");
$con = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE) or die('Unable to Connect');'
if (!(empty($_POST)) & isset($_POST)){
$unq_email = mysql_query("select * from `users` where `email`='".$_POST['email']."'");
if(mysql_num_rows($unq_email)!=0){
$sql = "insert into `users` (`name`,`email`,`password`,`gcm_id`) values `('".$_POST['name']."', '".$_POST['email']."', '".$_POST['password']."',` '".$_POST['gcm_id']."')";'
if(mysql_query($sql)){
$id=1;
$msg="You are registered";
}else{
$id=0;
$msg="Something went wrong";
}
}else{
mysql_query("UPDATE users SET gcm_id='$_POST[gcm_id]' WHERE email='$_POST[email]'");
$id=2;
$msg="email already exists";
}
$response['result'] =
array($result = array('response' => $id,'message'=>$msg));
die(json_encode($response));
}
?>`'
json中的上述代码正在以正确的结果回复我,但如果我的sql查询错误则会发出警告,那么它是如何以正确的结果还原我的。请帮忙
答案 0 :(得分:0)
如果您已经解决了语法错误,那么您可能会收到此错误,因为之前的语句mysql_query未返回资源。查询失败并返回一个FALSE值,这是一个布尔值,并且您在mysql_num_rows()函数中传递该布尔值而不是资源。
首先使用此代码检查mysql_query中的错误。
mysql_query("select * from `users` where `email`='".$_POST['email']."'") or die(mysql_error());
答案 1 :(得分:0)
使用mysql_*
来电 混合mysqli_*
来电。 不完全使用mysql_*
来电!
使用mysqli_*
API调用正确编码后,您的问题就会消失。