【问题标题】:How to do prepared statement in Yii1?如何在 Yii1 中做准备好的语句?
【发布时间】:2017-08-16 07:21:38
【问题描述】:

我如何将此查询转换为准备好的

Booking::model()->findAllByAttributes(array('is_deleted'=>NOTDELETED,'status'=>BOOKINGSTATUSPENDING,'payment_status'=>UNPAIDBOOKINGSTATUS,'transaction_status'=>FAILEDPAYMENTTRANSACTION),array('order'=>'id DESC', 'limit'=>DASHBOARDVIEWRECORDCOUNT));

【问题讨论】:

  • 你到底想要什么?
  • 一些工具显示此位置可能存在 SQL 禁令攻击,因此我想将其转换为预准备语句以进行预防
  • 您能解释一下什么是 NOTDELETED、BOOKINGSTATUSPENDING .. 等等吗? ...不是php var ..所以这些是常量?
  • 是的,这些都是常量

标签: sql yii prepared-statement


【解决方案1】:

在尝试了许多解决方案后,我找到了解决方法

$criteria = new CDbCriteria;
$criteria->condition ='status=:status AND payment_status=:payment_status AND transaction_status=:transaction_status ';
$criteria->params = array(':status'=>BOOKINGSTATUSPENDING,':payment_status'=>UNPAIDBOOKINGSTATUS,':transaction_status'=>FAILEDPAYMENTTRANSACTION);
$criteria->limit= DASHBOARDVIEWRECORDCOUNT;
$criteria->order = 'id DESC';
$incompleteBooking = Booking::model()->findAllByAttributes(array('is_deleted'=>NOTDELETED),$criteria);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-08
    相关资源
    最近更新 更多