SQL代码在php-admin中运行完美但在php中运行不正常

时间:2016-11-27 15:15:01

标签: mysql sql phpmyadmin

我试图为MySQL快速拼凑一些东西,但似乎我在这里有语法错误:

CREATE TABLE IF NOT EXISTS Children
  (
  name varchar (30),
  PRIMARY KEY (name)
  );

该语句在phpMyAdmin中成功执行,但当我将其包含在我自己的.php文件中时会抛出以下错误:

  

您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   靠近'创建表如果不是孩子(na'在第3行

错误是: 1064

我读到,当使用保留关键字作为变量名时,可能会发生1064,但即使我在列名称'时将列调用了其他内容,错误仍然存​​在......

编辑:

相应的php代码:

<!DOCTYPE html>
<html>
    <body>
        <?php
        $conn = mysqli_connect("localhost", "root", "");
        if (!$conn)
            {
            exit;
            }

        $create = "CREATE DATABASE IF NOT EXISTS wishlist;";
        $fill = "USE wishlist;

                    CREATE TABLE IF NOT EXISTS Children
                    (
                    name varchar (30),
                    PRIMARY KEY (name)
                    );";

        mysqli_query($conn, $create);
        mysqli_query($conn, $fill);

        echo $conn->error;
        echo '<br />';
        echo $conn->errno;

        mysqli_close ($conn);?>
    </body>
</html>

1 个答案:

答案 0 :(得分:-3)

因为“name”是mysql中的reserver关键字,所以您收到此错误。尝试在这种场合使用倾斜(`)。在phpmyadmin中,即使它不与关键字一起使用,因为它直接与mysql服务器一起使用