1
我在我的cli應用程序任務(類似於主應用程序中的控制器行爲)中有以下代碼。然而,我發現有時當我執行這個代碼,我得到如下錯誤。這是建議SQL語句中出現問題的地方。但是,當我檢查和測試,即使它給我一個錯誤數據庫更新成功。所以我想知道這個問題背後的根源是什麼。執行Phalcon在使用Model getDBConnection時PDO類中可能的不一致性
代碼是
public function updateUserCountsAction(){
try{
$phql="UPDATE `user` u JOIN
(
SELECT COUNT(`user_to`) AS fav_count, user_to
FROM `users_favorite`
GROUP BY `user_to`
) uf
ON uf.user_to = u.user_id
SET u.fav_count = uf.fav_count;";
$user = new User();
$rs = new Phalcon\Mvc\Model\Resultset\Simple(null, $user, $user->getReadConnection()->query($phql));
}
catch(\Exception $e){
$this->error($e);
}
}
這是錯誤我得到有時只是,時代的50%大致。我想知道爲什麼 ?但SQL的執行似乎更新數據庫,即使我得到這個錯誤。
========================================
2016-02-11 18:40:42:
PDOException: SQLSTATE[HY000]: General error
File=/var/www/vhosts/example.com/httpdocs/apps/cliend/tasks/CronTask.php
Line=240
#0 [internal function]: PDOStatement->fetchAll()
#1 [internal function]: Phalcon\Db\Result\Pdo->fetchAll()
#2 [internal function]: Phalcon\Mvc\Model\Resultset->__construct(Object(Phalcon\Db\Result\Pdo), NULL)
#3 /var/www/vhosts/example.com/httpdocs/apps/cliend/tasks/CronTask.php(240): Phalcon\Mvc\Model\Resultset\Simple->__construct(NULL, Object(LXY\Models\User), Object(Phalcon\Db\Result\Pdo))
#4 [internal function]: CronTask->updateUserCountsAction()
#5 [internal function]: Phalcon\Dispatcher->dispatch()
#6 /var/www/vhosts/example.com/httpdocs/apps/cliend/console.php(94): Phalcon\Cli\Console->handle(Array)
#7 {main}