0
我ahve问题与如下因素:Zend的分贝PDO没有返回结果
$sql = "SELECT e.*, c.name city_name, u.*, IF(l.item IS NULL, 0, 1) as iLike, DATE_FORMAT(e.date, '%h:%i') hour, DATE_FORMAT(e.date, '%d/%c/%Y') day, DATE_FORMAT(e.date, '%c') month
FROM `events` e
LEFT OUTER JOIN `like` l ON l.item = e.uuid AND l.user = :user
LEFT OUTER JOIN city c ON c.city = e.city
LEFT OUTER JOIN user u ON u.user = e.user
WHERE
e.deleted = 0
AND DATE(e.date) >= CURDATE()
AND e.user = :user
ORDER by e.date ASC
";
$select = $eventsModel->getAdapter();
$select->setFetchMode(Zend_Db::FETCH_ASSOC);
$prepare = $select->query($sql, array('user'=>$this->user_id));
此代码返回的结果,如果我硬编码:用户查询。例如:
$sql = "SELECT e.*, c.name city_name, u.*, IF(l.item IS NULL, 0, 1) as iLike, DATE_FORMAT(e.date, '%h:%i') hour, DATE_FORMAT(e.date, '%d/%c/%Y') day, DATE_FORMAT(e.date, '%c') month
FROM `events` e
LEFT OUTER JOIN `like` l ON l.item = e.uuid AND l.user = 23
LEFT OUTER JOIN city c ON c.city = e.city
LEFT OUTER JOIN user u ON u.user = e.user
WHERE
e.deleted = 0
AND DATE(e.date) >= CURDATE()
AND e.user = 23
ORDER by e.date ASC
";
$select = $eventsModel->getAdapter();
$select->setFetchMode(Zend_Db::FETCH_ASSOC);
$prepare = $select->query($sql);
这只是开始发生的时候,我们搬到我们的代码到新的服务器, 新的操作系统是Debian的6,squeze中,MySQL 5.5,PHP 5.3.21。
谢谢
不幸的是不可行,应该重写整个代码库以适应这种变化。我们知道这是有效的。 – 2013-02-12 17:51:29
此外,另一个有趣的事情是,如果我们使用:用户只有一次,而不是2倍,MySQL查询的查询工作。 – 2013-02-12 17:51:56
哦,我没有注意到,用户使用了两次,你需要在你的参数数组申报2件:'阵列(“用户” => $这个 - > USER_ID,“l.user” => $这个 - > USER_ID)',或也许'阵列($这 - > USER_ID,$这个 - > USER_ID)' – sdespont 2013-02-12 17:54:15