市面上盛行的绝大部分ECSHOP模板,安装的时候都需要履行一段或几段SQL句子来修正数据结构或许初始化一些数据。
大多数ECSHOP管理员为了省劲,都会通过 “ECSHOP后台》数据库管理 》SQL查询” 来履行这些SQL句子。
这时问题就来了,当你粘贴进SQL句子,点“提交查询”时,体系就会报出下面的过错:
this sql May contain UPDATE,DELETE,TRUNCATE,ALTER,DROP,FLUSH,INSERT,REPLACE,SET,CREATE,CONCAT
如下图所示:

留意:
上述过错只要在打了ECSHOP2.7.3最新补丁的体系下才会呈现,如果您的ECSHOP体系没有打最新补丁,是不会呈现这个过错提示。
下面来说一下过错原因:
之所以会呈现上面的过错提示,是因为ECSHOP2.7.3最新补丁文件,对ECSHOP后台的“SQL查询”功能做了约束,
只允许履行 select 查询句子,除select以外的别的查询句子,比如 alter, update, delete, truncate等之类的SQL句子都是被制止履行的。
二)、
下面再来说一说解决方法:
翻开 admin/sql.php 找到下面这段代码,删掉即可
| if(!empty($_POST[‘sql’])) { preg_match_all(“/(SELECT)/i”, $_POST[‘sql’],$matches); if(isset($matches[1]) && count($matches[1])>1) { sys_msg(“this sql more than one SELECT “); } if(preg_match(“/(UPDATE|DELETE|TRUNCATE|ALTER|DROP|FLUSH|INSERT|REPLACE|SET|CREATE|CONCAT)/i”, $_POST[‘sql’])) { sys_msg(“this sql May contain UPDATE,DELETE,TRUNCATE,ALTER,DROP,FLUSH,INSERT,REPLACE,SET,CREATE,CONCAT “); |
