为什么无法使用php中mysqli的准备语句进行数据库中数据的查询(绑定参数或者绑定结果),项目急用!
代码如下:
- PHP code
<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?php/* 利用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 <br />",$name,$pwd); } //恢复语句资源 $stmt->close(); //关闭连接 $mysqli->close();?>
这个语句到底有什么问题啊 我直接做增删改查是可以,但是无论是采用mysqli绑定结果或者绑定参数的方法都不行,求大侠指导啊,公司实习很快就要用它做项目了,急用急用!!
——解决方案——————–
printf(“%s, %s, %s
“,$name,$pwd); ???
少了一个参数
或者说多了一个格式符
——解决方案——————–
多一个占位符。你不是只有两个参数吗?
——解决方案——————–
少了一行代码,要把查询结果临时存储才能使用。
仅供参考:
- PHP code
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,本&文来源gaodai^.ma#com搞#代!码网搞gaodaima代码 "lid" => $lid, "cid" => $cid, "comName" => $comName, "comPrice" => $comPrice, "ordTime" => $ordTime ); array_push($arrLink,$arr); } return $arrLink; }else{ echo "查询订单明细失败!
"; } }