我有一个包含 3 列的 MySQL 表:ID、名称、用户。我希望在 Yii 框架中使用以下 SQL:
$sql = "SELECT * FROM my_table WHERE idName=".$name." AND user IN .$arrayOfUsers;
// $arrayOfUsers is an array of int [0]->1, etc.
我尝试了三种不同的方式,但没有成功:
1)
$sql = "SELECT * FROM my_table WHERE idName=".$name." AND user IN .$arrayOfUsers;
$command = $connection->createCommand($sql);
$dataReader = $command->query();
$query = $dataReader->readAll();
错误是:
PHP 错误 [8]
数组到字符串的转换
2)
$query = Yii::app()->db->createCommand()
->select('*')
->from('my_table')
->where(array('and', array('in', 'user', $arrayOfUsers), array('idName' => $name)))
->queryAll();
错误是:
PHP 错误 [8]
未定义的偏移量:0
3)
$query = Yii::app()->db->createCommand()
->select('*')
->from('my_table')
->where(array('and', array('in', 'user', $arrayOfUsers), 'idName='.$name)))
->queryAll();
错误是:
CDb异常
CDbCommand 执行 SQL 语句失败:SQLSTATE[42000]: Syntax error or access violation: 1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 3 行的 'idName=7)' 附近使用正确的语法。执行的 SQL 语句是:SELECT * FROM
my_table
WHERE (user
IN ('1', '2', '3 ', '4')) AND (idName=7)