【发布时间】:2013-08-09 16:39:59
【问题描述】:
我有一个包含 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();
错误是:
CDbException
CDbCommand 执行 SQL 失败 语句:SQLSTATE [42000]:语法错误或访问冲突:1064 你 您的 SQL 语法有错误;检查对应的手册 您的 MySQL 服务器版本,以便在 'idName=7)' 附近使用正确的语法 在第 3 行。执行的 SQL 语句是:SELECT * FROM
my_tableWHERE (userIN ('1', '2', '3', '4')) 和 (idName=7)
【问题讨论】:
-
对不起,我认为这不是 Yii 问题,但可能是 MySQL 问题
标签: mysql-error-1064 yii