CREATE TABLE SQL查询的语法错误

时间:2015-03-05 05:29:22

标签: php mysql sql database create-table

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,只需安装它。我正在尝试使用上面的代码创建一个表。这是它返回的错误。我尝试多次纠正语法。老实说,我认为语法是正确的。是否与我的EasyPHP安装配置有关,例如mysql配置不正确。

数组([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;
}

2 个答案:

答案 0 :(得分:2)

表名不要在引号内,更改

CREATE TABLE 'test'
             ^    ^

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

答案 1 :(得分:2)

将您的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));