Heim > Backend-Entwicklung > PHP-Tutorial > yii Aktualisierungsvorgang mit Parametern, Aktualisierung fehlgeschlagen, sehr seltsam

yii Aktualisierungsvorgang mit Parametern, Aktualisierung fehlgeschlagen, sehr seltsam

WBOY
Freigeben: 2016-09-21 14:13:11
Original
1121 Leute haben es durchsucht

Neuling, der heute das Yii-Framework 1.1 verwendet, ist beim Üben des CRUD-Aktualisierungsvorgangs von Datenbank-DAO auf ein Problem gestoßen:

yii Aktualisierungsvorgang mit Parametern, Aktualisierung fehlgeschlagen, sehr seltsam
bedeutet, dass ich den Datensatz mit dem Namenswert lishenglong in der Datenbanktabelle auf „smart“ aktualisieren möchte. Der Datenbanktabellendatensatz lautet wie folgt:

yii Aktualisierungsvorgang mit Parametern, Aktualisierung fehlgeschlagen, sehr seltsam
Das heißt, bei der Stapelaktualisierung werden die folgenden 4 Datensatzzeilen aktualisiert, dies ist jedoch nicht der Fall.
Das Ausführungsergebnis ist, dass nur die erste Zeile aktualisiert wird ? ?
Ich habe das Protokoll aktiviert, um die ausgeführte SQL-Anweisung anzuzeigen:

yii Aktualisierungsvorgang mit Parametern, Aktualisierung fehlgeschlagen, sehr seltsam

yii Aktualisierungsvorgang mit Parametern, Aktualisierung fehlgeschlagen, sehr seltsam

Ich habe den Grund gefunden. Beim Binden von Parametern wurde meine Aktualisierungsbedingung name='lishenglong' überschrieben, aber beim Parsen wurde sie zu name='smart', name='smart' Eigentlich möchte ich den neuen Wert aktualisieren, nicht die Aktualisierungsbedingung. Bitte fragen Sie auch die Tante, die durch die Grube gegangen ist, mir den Grund zu nennen und mir die Lösung zu geben. Ich bin sehr dankbar ~

Antwortinhalt:

Neuling, der heute das Yii-Framework 1.1 verwendet, ist beim Üben des CRUD-Aktualisierungsvorgangs von Datenbank-DAO auf ein Problem gestoßen:

yii Aktualisierungsvorgang mit Parametern, Aktualisierung fehlgeschlagen, sehr seltsam
bedeutet, dass ich den Datensatz mit dem Namenswert lishenglong in der Datenbanktabelle auf „smart“ aktualisieren möchte. Der Datenbanktabellendatensatz lautet wie folgt:

yii Aktualisierungsvorgang mit Parametern, Aktualisierung fehlgeschlagen, sehr seltsam
Das heißt, bei der Stapelaktualisierung werden die folgenden 4 Datensatzzeilen aktualisiert, dies ist jedoch nicht der Fall.
Das Ausführungsergebnis ist, dass nur die erste Zeile aktualisiert wird ? ?
Ich habe das Protokoll aktiviert, um die ausgeführte SQL-Anweisung anzuzeigen:

yii Aktualisierungsvorgang mit Parametern, Aktualisierung fehlgeschlagen, sehr seltsam

yii Aktualisierungsvorgang mit Parametern, Aktualisierung fehlgeschlagen, sehr seltsam

Ich habe den Grund gefunden. Beim Binden von Parametern wurde meine Aktualisierungsbedingung name='lishenglong' überschrieben, aber beim Parsen wurde sie zu name='smart', name='smart' Eigentlich möchte ich den neuen Wert aktualisieren, nicht die Aktualisierungsbedingung. Bitte fragen Sie auch die Tante, die durch die Grube gegangen ist, mir den Grund zu nennen und mir die Lösung zu geben. Ich bin sehr dankbar ~

Sehen Sie sich die Aktualisierungsmethode von system.db.CDbCommand im Yii1.1-Klassenreferenzhandbuch an. Der Methodenprototyp lautet wie folgt:

<code>public integer update(string $table, array $columns, mixed $conditions='', array $params=array ( ))</code>
Nach dem Login kopieren

Davon hat $params eine besondere Erklärung

<code>Do not use column names as parameter names here. They are reserved for $columns parameter.</code>
Nach dem Login kopieren

Das bedeutet, dass Sie keine Feldnamen als Platzhalternamen verwenden.
Die Lösung ist

<code>'name=:cname',array(':cname'=>'lishenglong')</code>
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage