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

时间:2017-01-05 00:31:49

标签: mysql pdo syntax-error reserved-words

我正在尝试运行查询,但看起来我与保留关键字冲突。我无法弄清楚冲突在哪里。我对此比较陌生,所以任何帮助都会受到赞赏。

我已经尝试将所有'行'更改为'my_row' - 它似乎没有什么区别。

我的代码:

        $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]);

任何帮助都将不胜感激。

编辑:以下是错误消息:

  

致命错误:未捕获PDOException:SQLSTATE [42000]:语法错误或   访问冲突:1064您的SQL语法有错误;检查   手册,对应右边的MySQL服务器版本   要在'AS id,sentences_index附近使用的语法。id AS char_id,   definitions。在第17行的'p'   /var/www/html/assets/other/custom_functions.php:520堆栈跟踪:#0   /var/www/html/assets/other/custom_functions.php(520):   PDO->准备('\ tSELECT \ n \ t \ t \ t \ t \ t \ t \ t \ t ... ...')#1   /var/www/html/index.php(216):gc_get_example_sentences(Object(PDO),   '\ xE8 \ xAF \ xB4 \ xE8 \ xAF \ x9D','简化')#2 {main}投入   第520行/var/www/html/assets/other/custom_functions.php

我确实理解有一个类似的问题。我已阅读它并试图在我的代码中找到相同的问题。我找不到问题,这就是我提出这个问题的原因。

Edit2:有趣的是,这个错误不是在PHP 7.0.0中引发的,而是在PHP 7.0.8中引发的

0 个答案:

没有答案