YII:中的SQL错误:SQLSTATE[42000]:语法错误或访问冲突:1064
我用yii编写了一个sql代码,它给出了以下错误: CDbCommand无法执行SQL语句:SQLSTATE[42000]:语法错误或访问冲突:1064您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解第1行中使用“')”附近的正确语法。执行的SQL语句是:从id位于()中的用户中选择* 我不知道为什么会这样。。。。。。。。。 代码是:YII:中的SQL错误:SQLSTATE[42000]:语法错误或访问冲突:1064,yii,mysqli,Yii,Mysqli,我用yii编写了一个sql代码,它给出了以下错误: CDbCommand无法执行SQL语句:SQLSTATE[42000]:语法错误或访问冲突:1064您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解第1行中使用“')”附近的正确语法。执行的SQL语句是:从id位于()中的用户中选择* 我不知道为什么会这样。。。。。。。。。 代码是: $t = implode(",", $array12); echo $t; $sql2 = 'SELECT * FROM users w
$t = implode(",", $array12);
echo $t;
$sql2 = 'SELECT * FROM users where id in ('. $t. ')';
// echo $sql2; die;
$command = $connection->createCommand($sql2);
$row5 = $command->queryAll();
echo "<pre>";
print_r($row5);
echo "</pre>";
而且它工作得很好,我不知道如何处理我的sql。当$array12为空时,您出现了错误: 从id位于()的用户中选择*(在错误消息末尾检查整个sql) 您必须检查以计算$array12中的元素:
我试图准确地运行您的代码,但没有出现任何错误,而且运行良好。你确定你在做这里写的事吗?
$sql2 = 'SELECT * FROM users where id in (44,45)';
$command = $connection->createCommand($sql2);
$row5 = $command->queryAll();
if (count($array12)) {
$t = implode(",", $array12);
$sql2 = 'SELECT * FROM users where id in ('. $t. ')';
// echo $sql2; die;
$command = $connection->createCommand($sql2);
$row5 = $command->queryAll();
} else {
$row5 = array();
}