我有一個奇怪的問題,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