我正在用PHP编写一个准备好的语句,我的代码很好,直到我在参数中添加'id'和'key'。他们肯定也在我要求的表格中。怎么了?提前致谢!
错误:在布尔值
上调用成员函数bind_param()
if($_POST['userx']){
echo '<div id="div2"><div id="font2">Dashboard</div>';
$queryA = "SELECT name,profo,password,id,key FROM collegestudents WHERE email = ?";
$stmt = $connection->prepare($queryA);
$stmt->bind_param('s',$_POST['userx']);
$stmt->bind_result($name1,$profo,$password1,$key,$id);
$stmt->execute();
$stmt->fetch();
$stmt->close();
答案 0 :(得分:2)
Key是mysql中的保留关键字。
将字段名称和表名封装在查询中的反引号中是一个好习惯,但也要检查错误。
1*9 + 3*6 + 6*4 = 51
答案 1 :(得分:0)
boolean(false)
返回$stmt = $connection->prepare($queryA);
if (!$stmt) {
echo "failed to run";
} else {
$stmt->bind_param('s',$_POST['userx']);
$stmt->bind_result($name1,$profo,$password1,$key,$id);
$stmt->execute();
$stmt->fetch();
}
确保您的查询正确
你可以像这样做一个简单的检查
$stmt = $conn->prepare("SELECT name,profo,password,id,key FROM
collegestudents WHERE email = :email");
$stmt->bindParam(':email', $email);
修改强> 如果你使用的是PDO,那你就错了它应该是这样的
db.close
答案 2 :(得分:-1)
使用
更改数据库连接文件 <?php $con = new PDO('mysql:host=127.0.0.1;dbname=yourdatabasename;','username',''); ?>
然后更改下面的行
$queryA = "SELECT name,profo,password,id,key FROM collegestudents WHERE email = ?";
$stmt = $connection->prepare($queryA);
$stmt->bind_param('s',$_POST['userx']);
$stmt->bind_result($name1,$profo,$password1,$key,$id);
$stmt->execute();
与
$queryA = "SELECT name,profo,password,id,key FROM collegestudents WHERE email = :v";
$stmt = $connection->prepare($queryA);
$stmt->execute( array('v' => $_POST['userx']) );