ホームページ >バックエンド開発 >PHPチュートリアル >PHP で mysqli のプリペアド ステートメントを使用してデータベース内のデータ (バインド パラメーターまたはバインド結果) をクエリできないのはなぜですか? プロジェクトが緊急に必要です。
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 />このステートメントの問題は何ですか? 直接追加、削除、変更、確認することはできますが、結果をバインドする方法やパラメータをバインドする方法は機能しません。インターンシップで使用するので、アドバイスをお願いします。会社はもうすぐプロジェクトに取り組んでいます。至急必要です! !
<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 />