-1

我正在尝试通过表单提交数据并遇到以下错误:

警告:mysql_num_rows()期望参数 1 是资源,给定的布尔值..

请找到我尝试过的代码。

//connection end to my data server.

if(isset($_POST["submit"])) {

     $user_name = $_POST['name'];
     $user_email = $_POST['email'];
     $user_skype = $_POST['skype'];

    if($user_name==""){
        echo "<script>alert('please enter your user name!')</script>";
        exit();
    }

    if($user_email==""){
        echo "<script>alert('please enter your email!')</script>";
        exit();
    }       

    if($user_skype==""){
        echo "<script>alert('please enter your skype id.')</script>";
        exit();
    }   

    $check_email = "select * from binary where user_email = '$user_email' ";

    $run = mysql_query($check_email);

    if(mysql_num_rows($run)>0){

    echo "<script>alert('Your email $user_email address already exist. please try another.')</script>";
    exit();

    }

    $query= "insert into binary (user_name, user_email, user_skype) values('$user_name','$user_email','$user_skype')";

    if(mysql_query($query)){
    echo "<script>window.open('success.html','_self')</script>";
    }

}

?>
4

3 回答 3

1

二进制sql reserrve word

在它周围使用反引号

$check_email = "select * from `binary` where user_email = '$user_email' ";

检查此链接以获取 sql 保留字。http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

并学习mysqli_函数或PDO,因为 mysql 已被 deprcitaeted

于 2014-10-18T10:27:54.550 回答
0

请更新您的查询:应该是

$check_email = "select * from `binary` where user_email = '".$user_email."' ";
于 2014-10-18T10:30:12.660 回答
0

似乎选择查询返回布尔值 false 因为

$check_email = "select * from binary where user_email = '$user_email' "

whereuser_email = '$user_email'无法解析的值,'$user_email'因为单个 quat 中的变量没有用它们的值解析

使用:-其中 user_email = ".$user_email; 一切都应该工作

于 2014-10-18T10:30:54.197 回答