星星博客's Archiver

cn2002 发表于 2005-11-6 00:18

查看数据库的信息,可以删除表等

[code]<?php
session_start();
echo "<style type=text/css>body,td,input {background-color:&#35;eeeeee; font-size:12px; font-family:verdana}</style>";
if (!IsSet(&#36;host) )
{
    echo "<center><form action=&#36;PHP_SELF method=post>
    请输入数据库的信息:<P>
    数据库主机 : <input name=host value=localhost><p>
    数据库用户名: <input name=user><p>
    数据库密码 : <input name=pass><p>
    数据库名字 : <input name=db_name><p>
    <input type=submit>
    </from></center>";
}
else
{
    session_register("host");
    session_register("user");
    session_register("pass");
    session_register("db_name");
   
    &#36;linkid = mysql_connect(&#36;host, &#36;user, &#36;pass);
    if ( !IsSet(&#36;table_prefix) )
    {   
        &#36;result = mysql_list_tables(&#36;db_name, &#36;linkid);
        while (&#36;data = mysql_fetch_row(&#36;result) )
        {
            list(&#36;table) = &#36;data;
            echo "&#36;table<br>";
        }
        &#36;num = mysql_num_rows(&#36;result);
        echo "<P><font color=red>在数据库 &#36;db_name 中,共有以上 &#36;num 个表</font><P>";
        mysql_free_result(&#36;result);
        
        //以下删除操作没有确认,且不可恢复,请慎重操作!
        echo "<hr><h3><font color=red>请仔细阅读说明,以下删除操作没有确认,且不可恢复,请慎重操作!</font></h3><p>";
        echo "<form action=&#36;PHP_SELF method=post>请输入欲删除表的全名,如想批量删除,请输入欲删除表的前缀。<br>
            比如,你输入 "phpBB_" ,则所有名字以 "phpBB_" 开头的表将会被删除!<br>
            <font color=red>如想删除所有的表请输入 "/" </font><p>
            <input name=table_prefix style="color:red"><input type=submit></form> ";
    }
    else
    {
        if ( &#36;table_prefix == "" ) die("没有输入表名");
        if ( &#36;table_prefix == "/" ) &#36;table_prefix = "";
        //以下是操作数据库 &#36;db_name 的结果:<P>
        echo "以下是操作数据库 &#36;db_name 的结果:<P>";
        &#36;result = mysql_list_tables(&#36;db_name, &#36;linkid);
        while (&#36;data = mysql_fetch_row(&#36;result) )
        {
            list(&#36;table) = &#36;data;
            if ( IsPrefix(&#36;table_prefix, &#36;table) == TRUE )
            {
                //delete table &#36;table
                &#36;sql = "drop table &#36;table";
                if ( mysql_query(&#36;sql) )
                    echo "&#36;table             ------ 删除成功!<P>";
                else
                    echo "<font color=red>&#36;table             ------ 删除失败!</font><P>";
            }
        }
        mysql_free_result(&#36;result);
        echo "<a href=&#36;PHP_SELF><h2><<回首页</h2></a>";
    }
   
    mysql_close(&#36;linkid);
}
function IsPrefix(&#36;table_prefix, &#36;table)
{
    &#36;len = strlen(&#36;table_prefix);
    &#36;prefix = substr(&#36;table, 0, &#36;len);
    if (&#36;prefix == &#36;table_prefix)
        return TRUE;
    else   
        return FALSE;
}
?>
[/code]

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.