首页  >  文章  >  后端开发  >  为啥无法使用php中mysqli的准备语句进行数据库中数据的查询(绑定参数或者绑定结果),项目急用

为啥无法使用php中mysqli的准备语句进行数据库中数据的查询(绑定参数或者绑定结果),项目急用

WBOY
WBOY原创
2016-06-13 11:15:38858浏览

为什么无法使用php中mysqli的准备语句进行数据库中数据的查询(绑定参数或者绑定结果),项目急用!
代码如下:

<br /><?php<br />/*<br />	利用mysqli扩展来绑定结果<br />*/<br />	//新建服务器连接<br />	$mysqli=new mysqli('localhost','root','root','searcdb');<br />	//创建查询<br />	$query="SELECT adminName,adminPwd FROM admininfo";<br />	//创建语句对象<br />	$stmt=$mysqli->stmt_init();<br />	//为执行准备语句<br />	$stmt->prepare($query);<br />	//执行语句<br />	$stmt->execute();<br />	//绑定结果参数<br />	$stmt->bind_result($name,$pwd);<br />	//循环处理结果并输出数据<br />	while($stmt->fetch()){<br />		printf("%s, %s, %s <br />",$name,$pwd);<br />	}<br />	//恢复语句资源<br />	$stmt->close();<br />	//关闭连接<br />	$mysqli->close();<br />?><br />
这个语句到底有什么问题啊 我直接做增删改查是可以,但是无论是采用mysqli绑定结果或者绑定参数的方法都不行,求大侠指导啊,公司实习很快就要用它做项目了,急用急用!!


------解决方案--------------------
 printf("%s, %s, %s 
",$name,$pwd); ???

少了一个参数
或者说多了一个格式符
------解决方案--------------------
多一个占位符。你不是只有两个参数吗?
------解决方案--------------------
少了一行代码,要把查询结果临时存储才能使用。
仅供参考:
<br />function selectLink($oid){<br />		$sql = "select o.oid,l.lid,c.cid,comName,comPrice,ordTime<br />				from mis_order o,mis_link l,mis_commodity c<br />				where o.oid=l.lid and c.cid=l.cid and o.oid=?";<br />		$stmt = $this->mysqli->prepare($sql);<br />		$stmt->bind_param("i",$oid);<br />		$stmt->execute();<br />		$stmt->store_result();<br />		$stmt->bind_result($oid,$lid,$cid,$comName,$comPrice,$ordTime);<br />		$rows = $stmt->affected_rows;<br />		if($rows > 0){<br />			$arrLink = array();<br />			while($stmt->fetch()){<br />				 $arr = array(<br />					"oid" => $oid,<br />					"lid" => $lid,<br />					"cid" => $cid,<br />					"comName" => $comName,<br />					"comPrice" => $comPrice,<br />					"ordTime" => $ordTime<br />				);<br />				array_push($arrLink,$arr);<br />			}<br />			return $arrLink;<br />		}else{<br />			echo "查询订单明细失败!<br/>";<br />		}<br />	}<br />
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn