0

我正在使用 JQuery 验证插件。我得到了使用默认 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);
?>
4

2 回答 2

2

将您的查询修复为

$sql = "select * from User_Base where Email_Address = '".$email."'";
于 2012-04-23T18:36:29.577 回答
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'";
于 2012-04-23T18:36:41.653 回答