【发布时间】:2020-08-03 01:41:25
【问题描述】:
我明白了:
致命错误:带有消息的未捕获异常“PDOException” 'SQLSTATE[42000]: 语法错误或访问冲突:1064 你有一个 SQL 语法错误;检查与您对应的手册 MySQL 服务器版本,用于在 'LIMIT 1' 附近使用正确的语法 第 1 行'
我正在尝试将一些代码从 MySQL 5.6 升级到 5.7,但我不确定如何重写?
public function getPlayerInfo($uid){
$this->session->newQuery();
$sqlSelect = "SELECT COUNT(*) AS total, login, gameIP, homeIP, gamePass, email FROM users WHERE id = $uid LIMIT 1";
$data = $this->pdo->query($sqlSelect)->fetch(PDO::FETCH_OBJ);
if($data->total == 0){
exit();
}
为了澄清这是做什么的,它应该返回相关的玩家数据,例如,在这个文件的更下方,我有:
if($doomStats['DOOM']['clanID'] == 0){
$doomedBy = '<a href="profile?id='.$doomStats['DOOM']['creatorID'].'">'.self::getPlayerInfo($doomStats['DOOM']['creatorID'])->login.'</a>';
} else {
$clan = new Clan();
$clanInfo = $clan->getClanInfo($doomStats['DOOM']['clanID']);
$doomedBy = '<a href="clan?id="'.$doomStats['DOOM']['clanID'].'">'.$clanInfo->name.'</a>';
$doomedBy .= ' <span class="small nomargin">(Released by <a href="profile?id='.$doomStats['DOOM']['creatorID'].'">'.self::getPlayerInfo($doomStats['DOOM']['creatorID'])->login.'</a>)</span>';
}
我希望这可以澄清。
【问题讨论】:
-
你想做什么?一般来说,使用参数可以解决意想不到的问题。
-
不要发送带有不相关标签的垃圾邮件。
-
@MarcinOrlowski 这不是我的意图,因为这个项目涵盖了我所有的标签。我很抱歉。
-
删除
LIMIT 1 -
@GordonLinoff 我用一个调用这个函数的例子编辑了这个问题。我希望它有所帮助。