【发布时间】:2014-02-06 14:47:01
【问题描述】:
我有名为 CMS 的数据库,有两列:id 和 data1
尝试从数据库中获取数据时,我收到以下代码的以下错误。
致命错误:带有消息的未捕获异常“PDOException” 'SQLSTATE[42000]: 语法错误或访问冲突:1064 你有一个 SQL 语法错误;检查与您对应的手册 MySQL 服务器版本,用于在行的“表”附近使用正确的语法 1' 在 /var/pdo/index.php:4 堆栈跟踪:#0 /var/pdo/index.php(4): PDO->query('SELECT * FROM t...') #1 {main} 抛出 /var/pdo/index.php 第 4 行
为什么会出现这个错误?
这是我的代码:
<?php
$db = new PDO('mysql:host=localhost;dbname=cms;charset=utf8', 'root', 'password');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$stmt = $db->query('SELECT * FROM table');
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo $row['field1'];
}
?>
【问题讨论】:
-
不要使用表作为表名..
-
您的数据库称为 CMS。表叫什么?