Yii 命令不起作用
Yii command not work
我的 table 行是数据(日期时间)、名称(var char)、地址(var char)
$command=Yii::app()->db->createCommand();
$command->from('news_hamkar');
$command->where(date('Y-m-d').' < DATE_ADD(data, INTERVAL -2 DAY)');
$command->order('news_hamkar.data desc');
$command->queryAll();
为什么 Yii 命令不能正常工作?
我发现有问题的代码有 2 个问题。我假设您正在您的应用程序中尝试相同的代码。
1. 您缺少 select
语句。
2. 你把queryAll()
返回的结果存储在哪里?
试试这个
$command=Yii::app()->db->createCommand();
$command->select('*');//added select statement
$command->from('news_hamkar');
$command->where(date('Y-m-d').' < DATE_ADD(data, INTERVAL -2 DAY)');
$command->order('news_hamkar.data desc');//save results to $results
$results=$command->queryAll();
没有引用日期,导致你的 where 条件不正确。如果今天 运行,则日期为 2015-03-07。但是,MySQL 会将其解释为算术运算并以以下 where 条件结束:
2005 < DATE_ADD(data, INTERVAL -2 DAY)
为避免这种情况,请将日期作为参数传递:
$command=Yii::app()->db->createCommand();
$command->from('news_hamkar');
$command->where(':date < DATE_ADD(data, INTERVAL -2 DAY)');
$command->order('news_hamkar.data desc');
$command->queryAll(true,array('date'=>date('Y-m-d'));
我的 table 行是数据(日期时间)、名称(var char)、地址(var char)
$command=Yii::app()->db->createCommand();
$command->from('news_hamkar');
$command->where(date('Y-m-d').' < DATE_ADD(data, INTERVAL -2 DAY)');
$command->order('news_hamkar.data desc');
$command->queryAll();
为什么 Yii 命令不能正常工作?
我发现有问题的代码有 2 个问题。我假设您正在您的应用程序中尝试相同的代码。
1. 您缺少 select
语句。
2. 你把queryAll()
返回的结果存储在哪里?
试试这个
$command=Yii::app()->db->createCommand();
$command->select('*');//added select statement
$command->from('news_hamkar');
$command->where(date('Y-m-d').' < DATE_ADD(data, INTERVAL -2 DAY)');
$command->order('news_hamkar.data desc');//save results to $results
$results=$command->queryAll();
没有引用日期,导致你的 where 条件不正确。如果今天 运行,则日期为 2015-03-07。但是,MySQL 会将其解释为算术运算并以以下 where 条件结束:
2005 < DATE_ADD(data, INTERVAL -2 DAY)
为避免这种情况,请将日期作为参数传递:
$command=Yii::app()->db->createCommand();
$command->from('news_hamkar');
$command->where(':date < DATE_ADD(data, INTERVAL -2 DAY)');
$command->order('news_hamkar.data desc');
$command->queryAll(true,array('date'=>date('Y-m-d'));