Mysql PDO错误-语法错误或访问冲突:1064

Mysql PDO错误-语法错误或访问冲突:1064,mysql,pdo,syntax-error,reserved-words,Mysql,Pdo,Syntax Error,Reserved Words,我试图运行一个查询,但看起来我与保留关键字冲突。我不知道冲突在哪里。我对这方面还比较陌生,所以任何帮助都将不胜感激 我已经试过把所有的“行”改成“我的行”——似乎没有什么不同 我的代码: $substmt = $pdo->prepare(' SELECT `sentences_index`.`row_id` AS id,

我试图运行一个查询,但看起来我与保留关键字冲突。我不知道冲突在哪里。我对这方面还比较陌生,所以任何帮助都将不胜感激

我已经试过把所有的“行”改成“我的行”——似乎没有什么不同

我的代码:

        $substmt = $pdo->prepare('  SELECT 
                                        `sentences_index`.`row_id` AS id,
                                        `sentences_index`.`id` AS char_id,
                                        `sentences_index`.`word`,
                                        `definitions`.`pinyin`,
                                        `definitions`.`def1` AS definition,                             
                                        `sentences`.`sentenceEN`

                                    FROM `sentences_index` 
                                    LEFT JOIN `definitions` ON `sentences_index`.`word` = `definitions`.`traditional`
                                    LEFT JOIN `sentences` ON `sentences_index`.`row_id` = `sentences`.`id`

                                    WHERE `sentences_index`.`row_id` = :row 

                                    GROUP BY `sentences_index`.`word`
                                    ORDER BY char_id ASC
                            ');
        $substmt->execute(['row' => $row]);
任何帮助都将不胜感激

编辑:以下是错误消息:

致命错误:未捕获PDO异常:SQLSTATE[42000]:语法错误或 访问冲突:1064您的SQL语法有错误;检查 与右边的MySQL服务器版本相对应的手册 使用near'AS id、
句子索引
id
作为字符id的语法,
定义
中第17行的“p” /var/www/html/assets/other/custom_functions.php:520堆栈跟踪:#0 /var/www/html/assets/other/custom_functions.php(520): PDO->prepare('\t选择\n\t\t\t\t\t…)\1 /var/www/html/index.php(216):gc_get_示例_语句(Object(PDO)), “\xE8\xAF\xB4\xE8\xAF\x9D”,“simplified”)#2{main}被抛出 /var/www/html/assets/other/custom_functions.php,第520行

我知道有一个类似的问题。我已经阅读了它,并试图在我的代码中找到同样的问题。我找不到问题所在,这就是我问这个问题的原因


Edit2:有趣的是,这个错误不是在PHP7.0.0中抛出的,而是在PHP7.0.8中抛出的

查看完整的错误消息远比一条错误消息的摘要有用。包括行号,我看不到任何关键字,所有标识符都被引用。将
$pdo
对象设置为抛出异常,您将返回完整的错误消息<代码>$pdo->setAttribute(pdo::ATTR_ERRMODE,pdo::ERRMODE_异常)在发布问题之前,您至少应该找出导致问题的查询。不要使用“类型”,因为它是保留的。可能重复的