为啥无法使用php中mysqli的准备语句进行数据库中数据的查询(绑定参数或者绑定结果),项目急用
程序员文章站
2022-06-02 14:36:55
...
为什么无法使用php中mysqli的准备语句进行数据库中数据的查询(绑定参数或者绑定结果),项目急用!
代码如下:
------解决方案--------------------
printf("%s, %s, %s
",$name,$pwd); ???
少了一个参数
或者说多了一个格式符
------解决方案--------------------
多一个占位符。你不是只有两个参数吗?
------解决方案--------------------
少了一行代码,要把查询结果临时存储才能使用。
仅供参考:
代码如下:
这个语句到底有什么问题啊 我直接做增删改查是可以,但是无论是采用mysqli绑定结果或者绑定参数的方法都不行,求大侠指导啊,公司实习很快就要用它做项目了,急用急用!!
/*
利用mysqli扩展来绑定结果
*/
//新建服务器连接
$mysqli=new mysqli('localhost','root','root','searcdb');
//创建查询
$query="SELECT adminName,adminPwd FROM admininfo";
//创建语句对象
$stmt=$mysqli->stmt_init();
//为执行准备语句
$stmt->prepare($query);
//执行语句
$stmt->execute();
//绑定结果参数
$stmt->bind_result($name,$pwd);
//循环处理结果并输出数据
while($stmt->fetch()){
printf("%s, %s, %s
",$name,$pwd);
}
//恢复语句资源
$stmt->close();
//关闭连接
$mysqli->close();
?>
------解决方案--------------------
printf("%s, %s, %s
",$name,$pwd); ???
少了一个参数
或者说多了一个格式符
------解决方案--------------------
多一个占位符。你不是只有两个参数吗?
------解决方案--------------------
少了一行代码,要把查询结果临时存储才能使用。
仅供参考:
function selectLink($oid){
$sql = "select o.oid,l.lid,c.cid,comName,comPrice,ordTime
from mis_order o,mis_link l,mis_commodity c
where o.oid=l.lid and c.cid=l.cid and o.oid=?";
$stmt = $this->mysqli->prepare($sql);
$stmt->bind_param("i",$oid);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($oid,$lid,$cid,$comName,$comPrice,$ordTime);
$rows = $stmt->affected_rows;
if($rows > 0){
$arrLink = array();
while($stmt->fetch()){
$arr = array(
"oid" => $oid,
"lid" => $lid,
"cid" => $cid,
"comName" => $comName,
"comPrice" => $comPrice,
"ordTime" => $ordTime
);
array_push($arrLink,$arr);
}
return $arrLink;
}else{
echo "查询订单明细失败!
";
}
}
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论