安装脚本MySQL的语法错误,“你在你的SQL语法错误; [...]”

问题描述:

我有我的网站上安装脚本,当我运行它,它给了我thsi错误:安装脚本MySQL的语法错误,“你在你的SQL语法错误; [...]”

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 active_guests ( ip varchar(15) collate latin1_general_' at line 2

这里是它似乎错误代码:

$sql = 'SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; 
     CREATE TABLE `active_guests` (
      `ip` varchar(15) collate latin1_general_ci NOT NULL, 
      `timestamp` int(11) unsigned NOT NULL, 
      PRIMARY KEY (`ip`) 
     );'; 

mysql_query($sql,$con) or die(mysql_error()); 

$sql = 'CREATE TABLE `active_users` (
      `username` varchar(30) collate latin1_general_ci NOT NULL, 
      `timestamp` int(11) unsigned NOT NULL, 
      PRIMARY KEY (`username`) 
     );'; 

mysql_query($sql,$con) or die(mysql_error()); 

$sql = 'CREATE TABLE `banned_users` (
      `username` varchar(30) collate latin1_general_ci NOT NULL, 
      `timestamp` int(11) unsigned NOT NULL, 
      PRIMARY KEY (`username`) 
     );'; 

它仍然之后甚至更多,但基本上它是这样。任何人都可以清理东西?提前致谢!

每次只能对mysql_query()运行一条语句。

所以,你必须运行SET SQL_MODE ...,然后分别运行第一CREATE TABLE ...


回复您的留言:我建议你还是坚持使用运行每次调用一个声明mysql_query()或等值的mysqli或PDO。这样做确实没有显着的缺点,并且这是防止某种形式SQL injection的好方法。

+0

谢谢!我听说过像mysqli这样一次运行多个声明......我可能会研究它!再次感谢! – blackjak231 2010-07-31 01:51:52