mysql查询不工作给出和错误

时间:2016-06-29 10:40:44

标签: php mysql

大家好,我有两个几乎相同的查询,但一个正在工作,一个没有 这个工作正常:

<?php 
require 'mysql.php';

if(isset($_POST["email"])){
    $email = $_POST["email"];

    $stmt = $connect->prepare("SELECT email FROM users WHERE email=? ");
    $stmt->bind_param("s", $email);
    $stmt->execute();
    $result = $stmt->get_result();
    $rowcount = $result->num_rows;
            if ($rowcount > 0){
                echo "1";
            } else if($rowcount == 0){ 
                echo "0";
            }

}
?>

并且这个不起作用并且给我一个错误

  

&#34;致命错误:在非对象上调用成员函数bind_param()   在第8行&#34;

<?php
session_start();
require 'mysql.php';

    $userid = $_SESSION["userid"];

    $stmt = $connect->prepare("SELECT * FROM character WHERE userid=? ");
    $stmt->bind_param("i", $userid); // line 8
    $stmt->execute();
    $result = $stmt->get_result();
    $rowcount = $result->num_rows;
        if ($rowcount > 0){
            echo "1";
        }else{
            echo "0";
        }


?>
他们差不多只有第一个检查电子邮件,这一个检查用户ID但第二个不工作,第一个工作正常问题在哪里???

1 个答案:

答案 0 :(得分:4)

因为mysql中的characterreserved kerword所以它必须在反引号查询中失败,因此会出现错误

$stmt = $connect->prepare("SELECT * FROM `character` WHERE userid=? ");