我只是第一次接触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语法错误;查看与您的在"Group FROM"附近使用正确语法的MySQL服务器版本第1行的GroupTable
我检查了一遍又一遍,表肯定叫GroupTable,列肯定叫Group。
如果这真的很明显,我很抱歉,我只是想把它弄得一团糟,看看我是否能学到基本知识,如果代码不符合标准,我也很抱歉。
这里有两个问题:
GROUP
在mySQL中是一个保留字,因此它只有在被引用时才起作用-
表和列名需要使用反引号,而不是简单的引号:
SELECT `Group` from `GroupTable`