大家好,我有两个几乎相同的查询,但一个正在工作,一个没有 这个工作正常:
<?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但第二个不工作,第一个工作正常问题在哪里???
答案 0 :(得分:4)
因为mysql中的character
是reserved kerword所以它必须在反引号查询中失败,因此会出现错误
$stmt = $connect->prepare("SELECT * FROM `character` WHERE userid=? ");