In diesem Artikel wird hauptsächlich die Lösung des Problems vorgestellt, dass in der parametrisierten Abfrage des Yii-Frameworks nur eine IN-Abfrage abgefragt werden kann. Er analysiert den Grund, warum im Yii-Framework nur eine IN-Abfrage abgefragt werden kann, sowie die damit verbundenen Funktionen und Verwendungsfähigkeiten Freunde in Not können sich auf die Funktion FIND_IN_SET beziehen. Teilen Sie es allen als Referenz mit. Die Details lauten wie folgt:
Bei Verwendung der Parametrisierung für IN-Abfragen im yii-Framework ist das Ergebnis nicht wie erwartet
$sql =<<<SQL SELECT id FROM tb WHERE id IN(:ids) SQL; $db = GeneralService::getSlaveDB(); $result = $db->createCommand($sql)->query([':ids' => '1013,1015,1017'])->readAll(); print_r($result);
Array ( [0] => Array ( [id] => 1013 ) )
kann nicht zulassen, dass das Platzbelegungssymbol eine Reihe von Werten ersetzt .
SELECT id FROM tb WHERE userid IN ( ? );
$sql =<<<SQL SELECT id FROM tb WHERE FIND_IN_SET(id, :ids) SQL; $db = GeneralService::getSlaveDB(); $result = $db->createCommand($sql)->query([':ids' => '1013,1015,1017'])->readAll(); print_r($result);
Array ( [0] => Array ( [id] => 1013 ) [1] => Array ( [id] => 1015 ) [2] => Array ( [id] => 1017 ) )
FIND_IN_SET(str,strlist)
Eine String-Liste ist ein String, der aus durch „,“-Symbole getrennten Unterketten besteht. Wenn das erste Argument eine konstante Zeichenfolge und das zweite eine Spalte vom Typ SET ist, ist die Funktion FIND_IN_SET() für die Verwendung von Bitberechnungen optimiert.
Wenn str nicht in strlist enthalten ist oder strlist ein leerer String ist, ist der Rückgabewert 0. Wenn ein Parameter NULL ist, ist der Rückgabewert NULL. Diese Funktion funktioniert nicht ordnungsgemäß, wenn das erste Argument ein Komma (',') enthält.
[ps] Die aus Kommas bestehende Zeichenfolge in strlist kann nicht wie üblich durch das Einfügen eines Leerzeichens rechts vom Komma erkannt werden.
Das obige ist der detaillierte Inhalt vonIN-Abfragen in Yii-Abfragen können nur eine Methode abfragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!