【问题标题】:Simple: creating tables in database简单:在数据库中创建表
【发布时间】:2012-04-09 00:39:21
【问题描述】:

非常简单的问题。我忘记了如何处理这个特定的脚本。使用 PHP 文件,我在 mysql 数据库中创建表。我有带有以下命令的$query 变量:

$query = "CREATE TABLE IF NOT EXISTS `table1` (
              `id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
                      `status` int(11) NOT NULL
              )ENGINE=MyISAM DEFAULT CHARSET=utf8;

              CREATE TABLE IF NOT EXISTS `table2` (
              `something` varchar(100) NOT NULL,
              `whatever` text NOT NULL
              )ENGINE=MyISAM DEFAULT CHARSET=utf8;
         ";

仅当我执行一个命令时它才有效。当我运行多个 CREATE / INSERT / DROP ... 命令时,它不起作用。肯定有语法错误,可能是 ;,

【问题讨论】:

    标签: php mysql database create-table


    【解决方案1】:

    mysql_query() 不支持在同一个调用中使用多个语句。

    http://php.net/manual/en/function.mysql-query.php

    mysql_query() 向服务器上与指定链接标识符关联的当前活动数据库发送唯一查询(不支持多个查询)。

    【讨论】:

      【解决方案2】:

      您的问题不是来自 SQL(好吧,老实说,我没有正确检查它),而是来自 mysql_query(假设您正在使用它):它不允许多个请求。 http://php.net/manual/fr/function.mysql-query.php

      【讨论】:

        【解决方案3】:

        正如其他人所说,mysql_query() 函数不支持一次调用中的多个查询。

        在一些相关的说明中,如果你可以的话,你应该考虑使用 mysql_i 或 PDO 来代替旧的 mysql_*() 函数,这些函数由于太多原因在此列出。

        http://php.net/manual/en/book.mysqli.php

        http://php.net/manual/en/book.pdo.php

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-18
          • 1970-01-01
          • 2012-01-14
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多