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
를 에코 때 복사 및 붙여 넣기하고 잘 실행할 수 있다는 것입니다. 어떻게 구문 오류가 될 수 있습니까?
연결 오류가 아닙니다. 데이터베이스의 다른 테이블에서 데이터를 가져올 수 있습니다. 누락 된 것이 있습니까? mysql_query
에
진지한가 .... 고마워 .... – MrZander
@MrZander SQL injeciton이 진짜 이유인지는 모르겠다.하지만이 형식 입력을 방지하기위한 것이라고 생각한다. DROP TABLE 사용자; -'응용 프로그램에 치명적인 영향을 미치지 못하게합니다. – Vyktor
@Vyktor : SQL 삽입에 대한 정의는 거의 알고 있습니다. 맞습니까? :) – cHao