And*_*nca 1 mysql zend-framework
Zend配置是:resources.db.adapter ="pdo_mysql"
获取消息的查询 :SQLSTATE [HY000]:常规错误
$db = Zend_Db_Table::getDefaultAdapter();
$db->setFetchMode(Zend_Db::FETCH_ASSOC);
$qry = $db->fetchAll(" SET @rank = 0 ;
SELECT
@rank := @rank +1 AS rank,
SUM(user_scoring_data.user_points) AS user_points,
league_team.user_id
FROM league_team
RIGHT JOIN user_scoring_data ON league_team.league_team_id = user_scoring_data.league_team_id
WHERE league_id = '$league_id' GROUP BY user_scoring_data.league_team_id
ORDER BY user_points DESC"
);
Run Code Online (Sandbox Code Playgroud)
如果我删除mysql变量,它的工作原理:
$db->fetchAll("
SELECT
SUM(user_scoring_data.user_points) AS user_points,
league_team.user_id
FROM league_team
RIGHT JOIN user_scoring_data ON league_team.league_team_id = user_scoring_data.league_team_id
WHERE league_id = '$league_id' GROUP BY user_scoring_data.league_team_id
ORDER BY user_points DESC"
);
Run Code Online (Sandbox Code Playgroud)
*注意:查询是在phpmyadmin中直接测试的,没有错误.
似乎在MySql中设置变量被认为是一个单独的查询.(fetch*()无法处理多个调用)
对于那些有这类问题的人:
$db->query("SET @rank = 0 ;");
$db->fetchAll("SELECT
@rank := @rank +1 AS rank,
SUM(user_scoring_data.user_points) AS user_points,
league_team.user_id
FROM league_team
RIGHT JOIN user_scoring_data ON league_team.league_team_id = user_scoring_data.league_team_id
WHERE league_id = '$league_id' GROUP BY user_scoring_data.league_team_id
ORDER BY user_points DESC"
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1611 次 |
| 最近记录: |