首頁 > 後端開發 > php教程 > 为啥我这个预处理语句执行不了呢

为啥我这个预处理语句执行不了呢

WBOY
發布: 2016-06-23 13:37:27
原創
975 人瀏覽過

$mysqli= new mysqli("localhost","root","123456","xsphpdemo");
if(mysqli_connect_errno()){
echo "连接失败
".mysqli_connect_error();
}

$stmt=$mysqli->prepare("select id name price num desn from shop where id>?");

$stmt->bind_param("i",$id);
$stmt->bind_result($id,$name,$price,$num,$desn);
$id="10";
$stmt->execute();
$stmt->store_result();
while($stmt->fetch()){
echo "$id -- $name -- $price -- $num -- $desn 
";
}
echo $stmt->num_rows;
$stmt->close();
执行Var_dump("select id name price num desn from shop where id>?")
布尔型值是假
好像$mysqli->prepare()语句执行不成功,不知道为啥


回复讨论(解决方案)

"select `id`, `name`, `price`, `num` ,`desn` from shop where id>?"

echo $stmt->error;  有错误信息吗

echo $stmt->error;  有错误信息吗


没有,我按楼上的加了引号,加入var_dump($stmt)之后显示是对象了,可是一执行错误又变成------>


echo $stmt->error;  有错误信息吗


没有,我按楼上的加了引号,加入var_dump($stmt)之后显示是对象了,可是一执行错误又变成------>
我没用过mysqli,但你这句是不是错了
$stmt->bind_param("i",$id);
登入後複製


是不是应为
$stmt->bind_param(1,$id);
登入後複製

字段没有隔开
$stmt=$mysqli->prepare("select id, name, price, num, desn from shop where id>?");

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板