首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查询中的Yii不起作用

查询中的Yii不起作用
EN

Stack Overflow用户
提问于 2013-12-23 12:45:11
回答 2查看 88关注 0票数 1

我试图在yii中创建一个查询,但它没有给出所需的输出,而是抛出错误。

代码语言:javascript
复制
 $name=array('tata','classmate');
    //  $result=  implode(',', $name);
    $mydata='("tata","classmate","adas")';
    $records=Yii::app()->db->createCommand()->select('productName')->from('products')->where
("productName IN :name",array(':name'=>$mydata))->queryColumn();
    var_dump($records);

Error:-MySQL server version for the right syntax to use near ''(\"tata\",\"classmate\",\"adas\")'' at line 3

注:- $mydata is dynamic

,如果我尝试这个

"productName IN $mydata"然后它完美地工作

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-23 12:55:06

似乎您正在错误地构建where子句。下面列出了如何使用输入范围来执行WHERE子句:

代码语言:javascript
复制
// WHERE id=1 or id=2
where('id=1 or id=2')
// WHERE id=:id1 or id=:id2
where('id=:id1 or id=:id2', array(':id1'=>1, ':id2'=>2))
// WHERE id=1 OR id=2
where(array('or', 'id=1', 'id=2'))
// WHERE id=1 AND (type=2 OR type=3)
where(array('and', 'id=1', array('or', 'type=2', 'type=3')))
// WHERE `id` IN (1, 2)
where(array('in', 'id', array(1, 2))
// WHERE `id` NOT IN (1, 2)
where(array('not in', 'id', array(1,2)))
// WHERE `name` LIKE '%Qiang%'
where(array('like', 'name', '%Qiang%'))
// WHERE `name` LIKE '%Qiang' AND `name` LIKE '%Xue'
where(array('like', 'name', array('%Qiang', '%Xue')))
// WHERE `name` LIKE '%Qiang' OR `name` LIKE '%Xue'
where(array('or like', 'name', array('%Qiang', '%Xue')))
// WHERE `name` NOT LIKE '%Qiang%'
where(array('not like', 'name', '%Qiang%'))
// WHERE `name` NOT LIKE '%Qiang%' OR `name` NOT LIKE '%Xue%'
where(array('or not like', 'name', array('%Qiang%', '%Xue%')))

看看Yii查询构建器文章/指南

所以,让它为你工作..。试试这个:

代码语言:javascript
复制
$mydata = array('tata','classmate', 'adas');

$records = Yii::app()->db->createCommand()
    ->select('productName')
    ->from('products')
    ->where(array('in', 'productName', $mydata)
    ->queryColumn();

var_dump($records);
票数 3
EN

Stack Overflow用户

发布于 2013-12-23 13:00:43

试试这个..。

代码语言:javascript
复制
$mydata = array('tata','classmate', 'adas');

$records = Yii::app()->db->createCommand()
    ->select('productName')->from('products')
    ->where(array('in', 'productName', $mydata))
    ->queryColumn();

var_dump($records);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20743895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档