Heim >Backend-Entwicklung >PHP-Tutorial >Ungültige Parameternummer: Anzahl der gebundenen Variablen stimmt nicht mit der Anzahl der Token überein

Ungültige Parameternummer: Anzahl der gebundenen Variablen stimmt nicht mit der Anzahl der Token überein

WBOY
WBOYOriginal
2016-08-08 09:25:402905Durchsuche
	$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>
}
Beim Schreiben der Abfrageoperation des Yii-Frameworks habe ich mit CDbCriteria immer wieder einen Fehler gemeldet:

Ungültige Parameternummer: Anzahl der gebundenen Variablen stimmt nicht mit der Anzahl der Token überein.

Dieser Fehler bedeutet, dass die von Ihnen abgefragten Bedingungen nicht mit der Anzahl der Parameter übereinstimmen.

Wenn Sie sicher sind Beachten Sie, dass im obigen Code ein unvorsichtiger Fehler vorliegt. Wenn Sie mich hinzufügen, um die Bedingungen von goupid zu erfüllen, habe ich am Ende nur einen Parameter, nämlich: goupid, und die gesamte Zeile: customid =$customid wird überschrieben, daher besteht die Lösung darin, eine Änderung in der bedingten Anweisung goupid vorzunehmen:

$criteria->params= array(':customid'=>$customid,':groupid'=>$groupid);

Oder es wäre besser, diese Schreibweise zu verwenden:

<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;
  	}

Das Obige führt eine ungültige Parameternummer ein: Die Anzahl der gebundenen Variablen stimmt nicht mit der Anzahl der Token überein, einschließlich des Inhalts. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn