Php 如何使用和在yii活动记录中进行sql查询?

Php 如何使用和在yii活动记录中进行sql查询?,php,activerecord,yii,Php,Activerecord,Yii,我是新来的。现在我在yii中遇到了活动记录问题 因此,我这里有普通sql: $sqlText = "SELECT * FROM tbl_webservicetokens WHERE clienttoken = '{$appToken}' AND systimestamp < expiredate"; 但我犯了错误! 有什么想法吗?试试这个查询。我想这对你有用 $post= TBLWEBSERVICET

我是新来的。现在我在yii中遇到了活动记录问题

因此,我这里有普通sql:

 $sqlText = "SELECT *
        FROM tbl_webservicetokens
        WHERE clienttoken = '{$appToken}'
            AND
              systimestamp < expiredate";
但我犯了错误!
有什么想法吗?

试试这个查询。我想这对你有用

 $post= TBLWEBSERVICETOKENS::model()->find(array(
       'select'=>'*',
       'condition'=>'CLIENTTOKEN=:appToken AND EXPIREDATE>:systimestamp',
       'params'=>array(':appToken'=>$appToken,':systimestamp'=>'systimestamp'))
       );

在我看来,我找到了答案:

$criteria = new CDbCriteria;
$criteria->condition=“ID=1212和CLIENTTOKEN='ws546b041c85ad38a2c1f424e1e39fe09cf76a3c8703c5';
$models=TBLWEBSERVICETOKENS::model()->findAll($criteria)

您为日期时间字段传递了错误的数据类型(字符串),您注意到了吗

$post=TBLWEBSERVICETOKENS::model()->find(
        'CLIENTTOKEN=:appToken AND EXPIREDATE>:systimestamp', 
        array(
            ':appToken'=>$appToken,
            ':systimestamp'=>$systimestamp)); //$systimestamp where your time data type value resides 
如果你仍然有错误

不幸的是,我遇到了错误`CDbCommand无法执行SQL语句:ORA-01858:$criteria=newCDBCriteria$标准->条件=“ID=1212和CLIENTTOKEN=”WS546B041C85AD38A2C1F424E1E39FE09CF76A3C8703C5'$models=TBLWEBSERVICETOKENS::model()->findAll($criteria);回声“;打印(型号);回声“;
$post=TBLWEBSERVICETOKENS::model()->find(
        'CLIENTTOKEN=:appToken AND EXPIREDATE>:systimestamp', 
        array(
            ':appToken'=>$appToken,
            ':systimestamp'=>$systimestamp)); //$systimestamp where your time data type value resides