PHP和MySQL,好的查询失败了

MrZ*_*der 2 php mysql

我对PHP和MySQL有一个奇怪的问题.为了尝试从PHP创建表,我已经将我需要的查询粘贴到PHP中,该查询在PHP环境之外成功执行.

    $CREATE_PAGES = "DROP TABLE IF EXISTS `MyDatabase`.`pages`;
                CREATE TABLE  `MyDatabase`.`pages` (
                  `Page_ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
                  `Page_File` varchar(1000) NOT NULL,
                  `Page_Description` varchar(1000) NOT NULL,
                  `Page_Message` longtext NOT NULL,
                  PRIMARY KEY (`Page_ID`)
                ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1;";
    $result= mysql_query($CREATE_PAGES,$link);

    if(!($result)){
       echo mysql_error();
       echo $CREATE_PAGES;
    }
Run Code Online (Sandbox Code Playgroud)

然后我收到标准错误消息

. . . for the right syntax to use near 'CREATE TABLE `MyDatabase`.`pages` ( `Page_ID` int(10) unsigned NOT NULL' at line 2
Run Code Online (Sandbox Code Playgroud)

然而,奇怪的是,当我回显查询时,$CREATE_PAGES我可以复制和粘贴,它将执行得很好.怎么会出现语法错误?

我知道这不是连接错误,我可以从该数据库中的另一个表中提取数据.有什么我想念的吗?

Vyk*_*tor 5

PHP调用当时mysql_query只允许一个动作(作为SQL注入预防的一部分,我猜)所以你必须将你的查询分成两部分并调用mysql_query两次.