我刚刚第一次涉足PDO,并且我一直收到一个我无法弄清楚的错误,导致问题的代码如下:
<?php
try {
// Querying the database
$STH = $DBH->query("SELECT 'Group' from 'GroupTable'");
// Setting the fetch mode
$STH->setFetchMode(PDO::FETCH_ASSOC);
while($row = $STH->fetch()) {
echo '<option value="',$row['Group'],'">',$row['Group'],'</option>';
}
}
catch(PDOException $e) {
echo "Error connecting to Database";
file_put_contents('logs/logsDB.txt', $e->getMessage(), FILE_APPEND);
}
?>
我一直得到同样的错误,即:
SQLSTATE [42000]:语法错误或访问冲突:1064您有 SQL语法错误;查看与您的手册相对应的手册 在''GroupTable'附近使用正确语法的MySQL服务器版本 在第1行
我试过引用/取消引用表/列名称,如果没有引用,我会收到此错误:
SQLSTATE [42000]:语法错误或访问冲突:1064您有 SQL语法错误;查看与您的手册相对应的手册 MySQL服务器版本,用于在'Group FROM附近使用正确的语法 第1行的GroupTable
我检查过并仔细检查过,表格肯定称为GroupTable,该列绝对称为Group。
我很抱歉,如果这是非常显而易见或非常重要的事情,我只是想搞清楚这一点,看看我是否可以学习基础知识,如果代码不符合标准等道歉。
答案 0 :(得分:2)
这里有两个问题:
GROUP
is a reserved word in mySQL,因此仅在引用时才有效。 表和列名称需要使用反引号引用,而不是简单的引号:
SELECT `Group` from `GroupTable`