我只是用PDO涉足的第一次,我不断收到,我真的想不通错误,导致该问题的代码如下:令人沮丧的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]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''GroupTable'' at line 1
我试过报价/ unquoting表/列名,不带引号的,当我得到这个错误:
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Group FROM GroupTable' at line 1
我会检查和双通道ecked,该表被DEFINITELY称为GroupTable,并且该列肯定被称为Group。
对不起,如果这确实明显或nooby,我只是想惹这个局面,看看我能学到的基础知识,道歉,如果代码不符合标准等
谢谢!原来反引号是这里的问题,虽然我觉得奇怪的是他们决定在引号在其他语言中使用时反引号(这是我第一次不得不使用反引号) – Sean 2012-07-29 15:23:02
@SeanDunwoody:使用引号代表**字符串**其中,tick用于表示**表和数据库名称**。 – 2012-07-29 15:25:32
我的理解是,当这些事情习惯于我习惯的旧SQL查询时,我很奇怪,我不确定他们为什么决定从这个''切换到' – Sean 2012-07-29 15:26:49