Php 查询this=$value和(this=$value1或$value2)

Php 查询this=$value和(this=$value1或$value2),php,mysql,sql,yii,Php,Mysql,Sql,Yii,可能网络上也有类似的话题,但搜索起来很困难。 我得到了上千个结果,但没有一个与我的问题完全一致 所以我在Yii工作,我需要一个查询来提供以下信息 一列必须等于$firsvariable,另一列必须等于$seconvariable或$thirdvariable。第二列在枚举中只有3个选项 现在,我尝试了几种不同的方法,并试图阅读CDbCriteria类参考资料,但到目前为止运气不佳 我试过了 $criteria=new CDbCriteria; $criteria->condition =

可能网络上也有类似的话题,但搜索起来很困难。 我得到了上千个结果,但没有一个与我的问题完全一致

所以我在Yii工作,我需要一个查询来提供以下信息

一列必须等于$firsvariable,另一列必须等于$seconvariable或$thirdvariable。第二列在枚举中只有3个选项

现在,我尝试了几种不同的方法,并试图阅读CDbCriteria类参考资料,但到目前为止运气不佳

我试过了

$criteria=new CDbCriteria;
$criteria->condition = "column1=".$firstvariable;
$criteria->addCondition('column2!= 2', 'AND');

还有更多。

试试这个:

    $criteria = new CDbCriteria();
    $criteria->addCondition('column1 = value1');
    $criteria->addCondition('column2 = value2 OR column2 = value3');

应该行。

你真的是指两行还是两列?这有什么不对$criteria->addCondition('(column2='.$seconvariable'或column2='.$thirdvariable')、'和');但愿我知道:)它只是不返回任何行。我甚至运行了从表中选择*,其中(
column1
=2)和(
column2
=0)或(
column2
=2))-用phpMyAdmin手写,没有结果。我知道我有符合这些标准的行。所以sql语法一定是错误的。这些值是实际的枚举值还是枚举位置?如果它们是值,那么它们必须是字符串。听起来您的问题纯粹是sql查询的问题。你能在你的问题中增加几行吗?
    $criteria = new CDbCriteria();
    $criteria->addCondition('column1 = value1');
    $criteria->addCondition('column2 = value2 OR column2 = value3');