emlog在php7.0中的错误修正

emlog在php7.0中的错误修正

使用mysqli而不是mysql连接数据库

用emlog在本机上安装,apache、php、mysql、目录权限什么的都已经做好了,但打开浏览器,一片空白,什么都不显示。肯定是出了错误。

经过我十几分钟的探索,发现emlog中的mysql连接函数还用的mysql_connect(),已经在php7.0中废弃不用了。

解决办法是在include/lib/option.php中修改DEFAULT_MYSQLCONN变量,象下面这样改可以了

//默认MySQL链接方式,mysql或mysqli
const DEFAULT_MYSQLCONN = 'mysqli';

一个变量也出错了

接下来安装时,又报错了。

SQL语句执行错误: SELECT * FROM emlog_comment WHERE hide='n' ORDER BY date DESC LIMIT 0,
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 '' at line 1
刷新显示正常。但提交评论或发表文是还会报上面的错误。

经过查找,发现是include/lib/cache.php中第197行出了问题

$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "comment WHERE hide='n' ORDER BY date DESC LIMIT 0, $index_comnum"); 

看来是因为变量$index_comnum什么也没输出使SQL语句出错了。

找了半天原因也没找到,懒得改了,直接将上句改为

$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "comment WHERE hide='n' ORDER BY date DESC LIMIT 0, 10");

一切正常了

你可能感兴趣的:(php)