大家好,我有两个几乎相同的查询,但一个是工作,一个不是这个运行正常:
<?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";
}
}
?>
这个不工作,给了我一个错误
"致命错误:在非对象上调用成员函数bind_param()第8行
<?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";
}
?>
它们几乎是一样的,只有第一个检查电子邮件,这个检查用户名,但第二个不工作,第一个工作得很好,问题在哪里?
因为character
是保留字在mysql中,它必须在反勾查询失败,由于这个,你得到错误
$stmt = $connect->prepare("SELECT * FROM `character` WHERE userid=? ");