php - MySQL 'CREATE TABLE' 查询直接工作并通过 PHPMyAdmin 但不是通过 PHP

标签 php mysql phpmyadmin create-table

<分区>

我有一个由 PHPMyAdmin 生成的 MySQL CREATE TABLE 脚本。它直接和通过 PHPMyAdmin 工作得很好,但我无法通过我的 PHP 脚本让它工作。

我得到的错误是:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 
'CREATE TABLE IF NOT EXISTS `vc5_users` (`id` int(12) NOT NULL AUTO' at line 14

这是查询:

INSERT INTO `users` (fname, lname, email, username, password, books_available, users_available, signup_date)
VALUES (
  'John',
  'Doe',
  'jdoe@gmail.com',
  'jdoe',
  'foobar',
  '250',
  '25',
  '123456' 
);

CREATE TABLE IF NOT EXISTS `jdoe_users` (
  `id` int(12) NOT NULL AUTO_INCREMENT,
  `fname` varchar(128) COLLATE utf8_bin NOT NULL,
  `created_at` varchar(32) COLLATE utf8_bin NOT NULL,
   PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;

CREATE TABLE IF NOT EXISTS `jdoe_books` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `isbn` varchar(13) NOT NULL,
  `title` varchar(256) NOT NULL,
  `author` varchar(256) NOT NULL,
  `publisher` varchar(128) NOT NULL,
  `status` varchar(32) NOT NULL,
  `last_loan` date NOT NULL,
  `last_return` date NOT NULL,
  `bookholder` varchar(64) NOT NULL,
  `due_back` date NOT NULL,
  `quantity` int(11) NOT NULL DEFAULT '1',
  `thumnail_url` varchar(128) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

最佳答案

在 PHP 中使用 mysql_query 的查询只能有 1 个语句。您正在尝试一次执行多个。

将语句分开并执行。它将起作用。

关于php - MySQL 'CREATE TABLE' 查询直接工作并通过 PHPMyAdmin 但不是通过 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13108398/

相关文章:

php - 数据库和 SQL - 订购问题 - PHP

python - 优化python中的mysql查询

mysql - 如何停止正在进行的回滚?

mysql - 简单的命令行命令在尝试导入 .sql 文件时出现语法错误

mysql - 如何在 phpMyAdmin 中将整数设置为默认无符号?

javascript - 单击 PHP 后禁用按钮

php - 无法在 laravel 5.1 中使用外观调用方法

php - fatal error : Using $this when not in object context - OOPHP

mysql - 表参数的顺序在 MySQL 查询中是否重要

php - "likes for comments"数据库设计?