>백엔드 개발 >PHP 튜토리얼 >잘못된 매개변수 번호: 바인딩된 변수 수가 토큰 수와 일치하지 않습니다.

잘못된 매개변수 번호: 바인딩된 변수 수가 토큰 수와 일치하지 않습니다.

WBOY
WBOY원래의
2016-08-08 09:25:402909검색
	$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를 사용하여 계속 오류를 보고했습니다.

잘못된 매개변수 번호: 바인딩된 변수 수가 토큰 수와 일치하지 않습니다.

이 오류는 쿼리한 조건이 매개변수 수와 일치하지 않음을 의미합니다.

자신이 있는 경우 , 관찰 위의 코드에서 부주의한 오류가 있음을 발견할 수 있습니다. 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;
  	}

위에서는 잘못된 매개변수 번호를 소개합니다. 바인딩된 변수의 수가 토큰의 수와 일치하지 않습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.