我有一个奇怪的问题,PHP和MySQL。 为了创建一个来自PHP的表格,我已经将我需要的查询(它在PHP环境之外成功执行)粘贴到PHP中。PHP和MySQL,好的查询失败
$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;
}
然后我得到的标准错误消息
. . . for the right syntax to use near 'CREATE TABLE `MyDatabase`.`pages` (`Page_ID` int(10) unsigned NOT NULL' at line 2
然而,奇怪的是,当我回声查询$CREATE_PAGES
我可以复制和粘贴,它会执行就好了。它怎么会是一个语法错误?
我知道这不是连接错误,我可以从该数据库中的另一个表中提取数据。 有什么我失踪?
你是认真的....谢谢.... – MrZander 2012-01-31 00:35:35
@MrZander我不知道SQL injeciton是真正的原因,但我认为这是为了防止表单输入,如:''); DROP TABLE用户; - 对应用程序造成灾难性影响。 – Vyktor 2012-01-31 00:39:25
@Vyktor:你知道这几乎是SQL注入的定义,对吧? :) – cHao 2012-01-31 00:41:19