CREATE TABLE SQL 查询语法错误

Syntax error on CREATE TABLE SQL query

sql 有什么问题?我不知道出了什么问题。它一直给我语法错误。

$dbh->exec ("CREATE TABLE 'test'
             (col1 CHAR (64) PRIMARY KEY,
             col2 CHAR (64),
             col3 CHAR (64),
             col4 CHAR (64))") or die (print_r ($dbh->errorInfo (), true));

我正在使用 EasyPHP,刚刚安装了它。我正在尝试使用上面的代码创建一个 table。这是它返回的错误。我多次尝试更正语法。老实说,我认为语法是正确的。与我的 EasyPHP 安装配置有关,例如 mysql 配置不正确。

Array ( [0] => 42000 [1] => 1064 [2] => 您的 SQL 语法有误;请查看与您的 MySQL 服务器对应的手册在第 1 行的 '' 附近使用正确语法的版本)

编辑: 这是我用来连接的代码:

function dbConnect ($dbname) {
    $user = "root";
    $pass = "";
    $db = new PDO ("mysql:host=127.0.0.1;dbname=$dbname", $user, $pass);
    if ($db) {
        //echo "Connected to database." . "</br>";
    }

    return $db;
}

Table 名称不要放在引号内,更改

CREATE TABLE 'test'
             ^    ^

CREATE TABLE `test`  // don't even need back ticks usually

将您的 SQL 更改为:

CREATE TABLE test
             (col1 CHAR (64) PRIMARY KEY,
             col2 CHAR (64),
             col3 CHAR (64),
             col4 CHAR (64))

试试:

$dbh->exec ("CREATE TABLE test
             (col1 CHAR (64) PRIMARY KEY,
             col2 CHAR (64),
             col3 CHAR (64),
             col4 CHAR (64))") or die (print_r ($dbh->errorInfo (), true));