我正在使用JQuery Validation插件。我让远程函数使用默认的php文件。
我修改了php文件以使用我自己的版本但是mysql正在返回
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/fastbluf/syatch/module/1.func.php on line 15
我的PHP代码如下。我的所有语法都是正确的。
<?php
// Last Edited: 4/23/12
$conn = mysql_connect('localhost','hidden','hidden') or die('Iam dying');
$rs = @mysql_select_db( "hidden", $conn) or die( "Err:Db" );
$do = $_REQUEST['do'];
$email= $_REQUEST['email'];
$user= $_REQUEST['user'];
function checkInfo($do,$email,$user){
switch ($do) {
case 1:
$sql = "select * from User_Base where Email_Address = $email";
$results = mysql_query($sql). mysql_error();
$nResults = mysql_num_rows($results);
if ($nResults > 0) {
$valid="false";
} else {
$valid="true";
}
break;
case 2:
//not yet
break;
}
return $valid;
}
echo checkInfo($do,$email,$user);
?>
答案 0 :(得分:2)
将您的查询修复为
$sql = "select * from User_Base where Email_Address = '".$email."'";
答案 1 :(得分:2)
问题是你要追加你的结果,导致它不再是有效的结果。
$results = mysql_query($sql). mysql_error();
尝试将此更改为:
$results = mysql_query($sql) or die(mysql_error());
您的查询也应该更改为引用电子邮件地址,并且应该转义地址以防止攻击(SQL注入):
$email = mysql_real_escape_string($_REQUEST['email']);
$sql = "select * from User_Base where Email_Address = '$email'";