安装或者升级PHPCMS时出现以下类似错误信息:
错误一:
MySQL Query : CREATE TABLE `phpcms_admin` ( `userid` mediumint(8) unsigned NOT NULL, `username` char(20) NOT NULL, `allowmultilogin` >tinyint(1) unsigned NOT NULL default '0', `alloweditpassword` tinyint(1) unsigned NOT NULL default '0', `editpasswordnextlogin` tinyint(1) unsigned NOT NULL default '0', `disabled` tinyint(1) unsigned NOT NULL default '0', PRIMARY KEY (`userid`)) TYPE=MyISAM
MySQL Error : 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 'TYPE=MyISAM' at line 1
MySQL Errno : 1064
Message : MySQL Query Error
错误二:
MySQL Query : CREATE TABLE `phpcms_cache_count` ( `id` char(32) NOT NULL default '', `count` mediumint(8) unsigned NOT NULL default '0', `updatetime` int(10) unsigned NOT NULL default '0', PRIMARY KEY (`id`))
TYPE=MEMORY DEFAULT CHARSET=gbk
MySQL Error : 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 'MEMORY' at line 1 MySQL Errno : 1064
Message : MySQL Query Error
出现上面那些问题是因为程序太老没有及时更新MYSQL查询语句写法,Mysql 5.5及以上版本数据库查询语句写法已经不再支持"TYPE="这种写法了(如错误一里面的TYPE=MyISAM和错误二里面的TYPE=MEMORY),取而代之的是“ENGINE=”这种写法。
知道了问题所在,就很清楚该怎么解决这些问题了:方法一就是使用数据库版本低点的空间,如Mysql 5.1等。方法二就是修改sql命令了,在PHPCMS的/install/main目录里面有一些sql文件,用记事本批量替换这些sql文件里面的代码,把TYPE=MyISAM替换为ENGINE=MyISAM,TYPE=MEMORY替换为ENGINE=MEMORY,这样就解决问题了。