首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PHP创建多个MySQL表

使用PHP创建多个MySQL表
EN

Stack Overflow用户
提问于 2012-12-24 16:46:54
回答 2查看 8.9K关注 0票数 6

我正在尝试使用php创建一个以上的MySQL表,但是它会产生错误,并且我无法找出它的错误所在。

PHP代码:

代码语言:javascript
复制
$sql = ' CREATE TABLE IF NOT EXISTS `mod_reminder_entries` 
  ( 
   `id`          INT(10) NOT NULL auto_increment, 
   `user_id`     INT(10) NOT NULL, 
   `entry_name`  VARCHAR(255) NOT NULL, 
   `entry_value` INT(10) NOT NULL, 
   PRIMARY KEY (`id`), 
   FOREIGN KEY (`user_id`) REFERENCES tblclients (`id`) 
 ); 

 CREATE TABLE IF NOT EXISTS `second_table` 
  ( 
   `user_id`     INT(10) NOT NULL, 
   `fieldstotal` INT(10) NOT NULL, 
   FOREIGN KEY (`user_id`) REFERENCES tblclients (`id`) 
  ); ';

  mysql_query($sql);

它给出了错误,此外,不要担心mysql连接。我正确地连接了DB,并对它进行了测试,语法肯定有问题。

您的SQL语法出现错误;请检查与MySQL服务器版本对应的手册,以获得在“创建表(如果不存在的话)”附近使用的正确语法second_table ( user_id INT )。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-24 16:48:26

您不能在mysql_query中使用分号分隔查询,此函数一次只允许一个查询!

您必须单独执行您的语句:

代码语言:javascript
复制
mysql_query("
    CREATE TABLE IF NOT EXISTS `mod_reminder_entries` (
        `id` INT(10) NOT NULL AUTO_INCREMENT, 
        `user_id` INT(10) NOT NULL, 
        `entry_name` VARCHAR(255) NOT NULL, 
        `entry_value` INT(10) NOT NULL, 
        PRIMARY KEY (`id`), 
        FOREIGN KEY (`user_id`) REFERENCES tblclients (`id`) 
    )
") or die(mysql_error());

mysql_query("
CREATE TABLE IF NOT EXISTS `second_table` (
    `user_id` INT(10) NOT NULL, 
    `fieldstotal` INT(10) NOT NULL, 
    FOREIGN KEY (`user_id`) REFERENCES tblclients (`id`) 
)
") or die(mysql_error());

或者更好,使用查询 --这意味着您必须切换到米斯里

票数 4
EN

Stack Overflow用户

发布于 2012-12-24 16:48:42

按错误信息说的做就行。

一次只能使用新代码中的函数执行一个查询。它们不再是维护的被官方否决了。看到红盒了吗?相反,学习https://en.wikipedia.org/wiki/Prepared_statement,并使用PDO,或者MySQLi - 这篇文章将帮助您决定哪一个。如果您选择PDO,这里有一个很好的教程

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14023810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档