如何解决ECShop网店出现MySQL server3dmax error reportt错误提示

16:45 提问
请问登录ecshop后台首页报错是什么原因?
MySQL server error report:Array ( [0] =& Array ( [message] =& MySQL Query Error ) [1] =& Array ( [sql] =& SELECT SUM(money_paid) AS sales FROM `shneyu`.`ecs_order_info` WHERE `add_time` BETWEEN
AND supplier_id=0 AND order_status IN ('1','5','6') ) [2] =& Array ( [error] =& Unknown column 'supplier_id' in 'where clause' ) [3] =& Array ( [errno] =& 1054 ) )
回复数排序
Unknown column 'supplier_id' in 'where clause'
where子句中的列名supplier_id未知,你有这一列么
不存在supplier_id这么一列
其他相关推荐ECSHOP屏蔽SQL提示 防止ECSHOP注入 - ECshop商城二次开发博客 - 博客园
ECshop二次开发博客
通常我们说的注入就是利用了 ecshop的sql错误提示显示出了MD5的密码
对网店来说是非常危险的!
要解决这个问题,最好的方法当然就屏蔽ecshop的sql错误,这样,无论如何的注入都束手无策!
直接看代码:&
找到 \includes\cls_mysql.php
function ErrorMsg($message = '', $sql = '')
if ($message)
echo "&b&ECSHOP info&/b&: $message\n\n&br /&&br /&";
//print('&a href="/?type=mysql&dberrno=2003&dberror=Can%27t%20connect%20to%20MySQL%20server%20on" target="_blank"&/&/a&');
echo "&b&MySQL server error report:";
print_r($this-&error_message);
//echo "&br /&&br /&&a href='/?type=mysql&dberrno=" . $this-&error_message[3]['errno'] . "&dberror=" . urlencode($this-&error_message[2]['error']) . "'
target='_blank'&http:///&/a&";
function ErrorMsg($message = '', $sql = '')
if ($message)
//echo "&b&ECSHOP info&/b&: $message\n\n&br /&&br /&";
//print('&a href="/?type=mysql&dberrno=2003&dberror=Can%27t%20connect%20to%20MySQL%20server%20on" target="_blank"&/&/a&');
//echo "&b&MySQL server error report:";
//print_r($this-&error_message);
//echo "&br /&&br /&&a href='/?type=mysql&dberrno=" . $this-&error_message[3]['errno'] . "&dberror=" . urlencode($this-&error_message[2]['error']) . "'
target='_blank'&http:///&/a&";
即把所有的错误输出屏蔽 这样很方便的就解决了注入问题。增加网店的安全系数!
随笔 - 204欢迎访问CMS集中营! 本站QQ交流群:
&&|&& &&|&& &&|&&
当前位置: &
ecshop出现MySQL server error report错误提示的解决方法
ECShop网店程序在搬迁空间或恢复备份或更换域名后 ,经常会出现以下错误提示:
MySQL server error report:Array ( [0] =& Array ( [message] =& MySQL Query Error ) [1] =& Array ( [sql] =& Insert INTO `test`.`ecs_sessi**` (sesskey, expiry, ip, data) VALUES ('8acc9a5079fdfbe766120&, '&, '127.0.0.1&, 'a:0:{}') ) [2] =& Array ( [error] =& Table 'test.ecs_sessi**' doesn't exist ) [3] =& Array ( [errno] =& 1146 ) ) ,
这是因为当初通过ECSHOP后台备份时少了两个表,一个是 ecs_sessi** ,一个是 ecs_sessi**_data ,所以我们就得想法重新建立这两张表。
看下面方法:
分别将下面两段SQL语句复制粘贴到&ECSHOP后台--&数据库管理--&SQL查询&的输入框里提交即可。
CREATE TABLE IF NOT EXISTS `ecs_sessi**` (
`sesskey` char(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
`expiry` int(10) unsigned NOT NULL DEFAULT '0',
`userid` mediumint(8) unsigned NOT NULL DEFAULT '0',
`adminid` mediumint(8) unsigned NOT NULL DEFAULT '0',
`ip` char(15) NOT NULL DEFAULT '',
`user_name` varchar(60) NOT NULL,
`user_rank` tinyint(3) NOT NULL,
`discount` decimal(3,2) NOT NULL,
`email` varchar(60) NOT NULL,
`data` char(255) NOT NULL DEFAULT '',
PRIMARY KEY (`sesskey`),
KEY `expiry` (`expiry`)
) ENGINE=MEMORY DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `ecs_sessi**_data` (
`sesskey` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
`expiry` int(10) unsigned NOT NULL DEFAULT '0',
`data` longtext NOT NULL,
PRIMARY KEY (`sesskey`),
KEY `expiry` (`expiry`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
1)我这里使用的是默认表前缀 ecs_ ,如果你的表前缀不是 ecs_ 请自行修改后 再提交
2)我这里使用的是UTF8字符集 如果你使用的是GBK字符集 也请自行修改后,再提交
TAGS:   

我要回帖

更多关于 lolerror report 的文章

 

随机推荐