成都SEO,成都网站优化,成都卓仁SEO分享网站优化、网络推广,关注互联网!如果你有什么想法和需求,都热情地欢迎点击卓仁SEOQQ联系电话: 与我交流!

当前位置:卓仁网络 > 网站建设 > 正文

织梦sys_sql_query.php文件下载

时间:2016-02-29 06:31 来源:www.zhuorenseo.com/ 作者:卓仁seo 阅读:
文件sys_sql_query.php默认所在路径:跟目录 - dede - sys_sql_query.php
 
遇到织梦后台SQL命令行工具不能用,参考一下提供的详细内容
 
由于dedecms5.6以上版本为了防止黑客利用这一sql语句的漏洞而攻击网站,所以更新的版本修复了这一漏洞,只要安装更新dedecms5.6以上的版本,安装完程序之后,系统会自动删除该文件(sys_sql_query.php),但有时候站长需要用到织梦后台这一强大的sql语句执行功能,所以就需要重新下载sys_sql_query.php文件在在后台文件里面(默认是dede)。
 
卓仁这里提供sys_sql_query.php文件下载——点击下载           sys_sql_query.php.rar
 
 
如遇不能下载,请自行新建一个 txt文档兵命名为sys_sql_query.php,复制以下sys_sql_query.php的代码,代码如下:
 
<?php
/**
 * SQL命令执行器
 *
 * @version        $Id: sys_sql_query.php 1 22:28 2010年7月20日Z tianya $
 * @package        DedeCMS.Administrator
 * @copyright      Copyright (c) 2007 - 2010, DesDev, Inc.
 * @license        http://help.dedecms.com/usersguide/license.html
 * @link           http://www.dedecms.com
 */
require(dirname(__FILE__)."/config.php");
CheckPurview('sys_Data');
if(empty($dopost)) $dopost = "";
 
//查看表结构
if($dopost=="viewinfo")
{
    if(empty($tablename))
    {
        echo "没有指定表名!";
    }
    else
    {
        $dsql->SetQuery("SHOW CREATE TABLE ".$dsql->dbName.".".$tablename);
        $dsql->Execute('me');
        $row2 = $dsql->GetArray('me',MYSQL_BOTH);
        $ctinfo = $row2[1];
        echo "<xmp>".trim($ctinfo)."</xmp>";
    }
    exit();
}
//优化表
else if($dopost=="opimize")
{
    if(empty($tablename))
    {
        echo "没有指定表名!";
    }
    else
    {
        $rs = $dsql->ExecuteNoneQuery("OPTIMIZE TABLE `$tablename` ");
        if($rs)  echo "执行优化表: $tablename  OK!";
        else echo "执行优化表: $tablename  失败,原因是:".$dsql->GetError();
    }
    exit();
}
//优化全部表
else if($dopost=="opimizeAll")
{
    $dsql->SetQuery("SHOW TABLES");
    $dsql->Execute('t');
    while($row = $dsql->GetArray('t',MYSQL_BOTH))
    {
        $rs = $dsql->ExecuteNoneQuery("OPTIMIZE TABLE `{$row[0]}` ");
        if($rs) 
        {
            echo "优化表: {$row[0]} ok!<br />\r\n";
        } else {
            echo "优化表: {$row[0]} 失败! 原因是: ".$dsql->GetError()."<br />\r\n";
        }
    }
    exit();
}
//修复表
else if($dopost=="repair")
{
    if(empty($tablename))
    {
        echo "没有指定表名!";
    }
    else
    {
        $rs = $dsql->ExecuteNoneQuery("REPAIR TABLE `$tablename` ");
        if($rs) echo "修复表: $tablename  OK!";
        else echo "修复表: $tablename  失败,原因是:".$dsql->GetError();
    }
    exit();
}
//修复全部表
else if($dopost=="repairAll")
{
    $dsql->SetQuery("Show Tables");
    $dsql->Execute('t');
    while($row = $dsql->GetArray('t',MYSQL_BOTH))
    {
        $rs = $dsql->ExecuteNoneQuery("REPAIR TABLE `{$row[0]}` ");
        if($rs) 
        {
            echo "修复表: {$row[0]} ok!<br />\r\n";
        } else {
            echo "修复表: {$row[0]} 失败! 原因是: ".$dsql->GetError()."<br />\r\n";
        }
    }
    exit();
}
//执行SQL语句
else if($dopost=="query")
{
    $sqlquery = trim(stripslashes($sqlquery));
    if(preg_match("#drop(.*)table#i", $sqlquery) || preg_match("#drop(.*)database#", $sqlquery))
    {
        echo "<span style='font-size:10pt'>删除'数据表'或'数据库'的语句不允许在这里执行。</span>";
        exit();
    }
    //运行查询语句
    if(preg_match("#^select #i", $sqlquery))
    {
        $dsql->SetQuery($sqlquery);
        $dsql->Execute();
        if($dsql->GetTotalRow()<=0)
        {
            echo "运行SQL:{$sqlquery},无返回记录!";
        }
        else
        {
            echo "运行SQL:{$sqlquery},共有".$dsql->GetTotalRow()."条记录,最大返回100条!";
        }
        $j = 0;
        while($row = $dsql->GetArray())
        {
            $j++;
            if($j > 100)
            {
                break;
            }
            echo "<hr size=1 width='100%'/>";
            echo "记录:$j";
            echo "<hr size=1 width='100%'/>";
            foreach($row as $k=>$v)
            {
                echo "<font color='red'>{$k}:</font>{$v}<br/>\r\n";
            }
        }
        exit();
    }
    if($querytype==2)
    {
        //普通的SQL语句
        $sqlquery = str_replace("\r","",$sqlquery);
        $sqls = preg_split("#;[ \t]{0,}\n#",$sqlquery);
        $nerrCode = ""; $i=0;
        foreach($sqls as $q)
        {
            $q = trim($q);
            if($q=="")
            {
                continue;
            }
            $dsql->ExecuteNoneQuery($q);
            $errCode = trim($dsql->GetError());
            if($errCode=="")
            {
                $i++;
            }
            else
            {
                $nerrCode .= "执行: <font color='blue'>$q</font> 出错,错误提示:<font color='red'>".$errCode."</font><br>";
            }
        }
        echo "成功执行{$i}个SQL语句!<br><br>";
        echo $nerrCode;
    }
    else
    {
        $dsql->ExecuteNoneQuery($sqlquery);
        $nerrCode = trim($dsql->GetError());
        echo "成功执行1个SQL语句!<br><br>";
        echo $nerrCode;
    }
    exit();
}
include DedeInclude('templets/sys_sql_query.htm');

(责任编辑:成都SEO)

顶一下
(3)
100%
踩一下
(0)
0%