首頁 > 後端開發 > php教程 > 參數數量無效:綁定變數的數量與標記的數量不匹配

參數數量無效:綁定變數的數量與標記的數量不匹配

WBOY
發布: 2016-08-08 09:25:40
原創
2867 人瀏覽過
	$criteria = new CDbCriteria();
  	$criteria->addCondition("customid = :customid");
  	$criteria->params= array(':customid'=>$customid);
  	if(trim($groupid)!=""){
  		$criteria->addCondition ('groupid' = :groupid);
登入後複製
<pre name="code" class="php"><span style="white-space:pre">		</span>$criteria->params= array(':groupid'=>$groupid);
登入後複製
登入後複製
登入後複製
<span style="white-space:pre">	</span>}
登入後複製
<span style="white-space:pre">	</span>
登入後複製
}
登入後複製
登入後複製
在寫Yii框架的查詢操作時,使用CDbCriteria一直在報一個錯:

Invalid parameter number: number of bound variables does not match number of tokens.

這個報錯的意思是你查詢的條件和參數個數不符;

如果自信觀察下我上面的程式碼,會發現有個大意的錯誤了的,加入我符合goupid的條件,那麼最終我的參數就只有一個,就是:goupid,而全線的:customid =$customid就會被覆蓋了,所以解決的辦法就是在goupid條件語句裡面做個更改:

$criteria->params= array(':customid'=>$customid,':groupid'=>$groupid);
登入後複製

或使用這種寫法會更好:

<span style="white-space:pre">	</span>$criteria = new CDbCriteria();
  	$criteria->addCondition("customid = :customid");
  	$criteria->params[':customid'] = $customid;
  	if(trim($groupid)!=""){
  		$criteria->addCondition ("groupid = :groupid");
  		$criteria->params[':groupid'] = $groupid;
  	}
登入後複製

以上就介紹了Invalid parameter number: number of bound variables does not match number of tokens,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板