為什麼無法使用php中mysqli的準備語句進行資料庫中資料的查詢(綁定參數或者綁定結果),項目急用!
代碼如下:
PHP code
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();?>
這個語句到底有什麼問題啊 我直接做增刪改查是可以,但是無論是採用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, "lid" => $lid, "cid" => $cid, "comName" => $comName, "comPrice" => $comPrice, "ordTime" => $ordTime ); array_push($arrLink,$arr); } return $arrLink; }else{ echo "查詢訂單明細失敗!
"; } }