方法一:
<BR><?php <BR>mysql_connect('','',''); <BR>mysql_select_db(''); <BR>$rs=mysql_query('show tables'); <BR>while($arr=mysql_fetch_array($rs)){ <BR>$TF=strpos($arr[0],'class_'); <BR>if($TF===0){ <BR>$FT=mysql_query("drop table $arr[0]"); <BR>if($FT){ <BR>echo "$arr[0] 删除成功!<br>"; <BR>} <BR>} <BR>} <BR>?> <BR>
方法二:
今天重装个站,搞了一下午,终于找到可以用的批量删除数据库表的方法。。。
这个是以xx_为前缀的示范,大家可以自己更改为想删除的表前缀
<BR><?php <BR>function deldata($dbname,$tableflag){ <BR>$db_host = 'localhost'; <BR>$db_port = '3306'; <BR>$db_user = 'user'; <BR>$db_pass = 'password'; <BR>$connect =mysql_connect($db_host,$db_user,$db_pass); <BR>mysql_select_db($dbname); <BR>$result = mysql_query("show table status from $dbname",$connect<a style="color:transparent">本@文来源gao($daima.com搞@代@#码(网5</a><strong>搞gaodaima代码</strong>); <BR>$data=mysql_fetch_array($result); <BR>while($data=mysql_fetch_array($result)) { <BR>$table=mysubstr($data[Name],"_"); <BR>if($table==$tableflag){ <BR>//测试之用 <BR>/*echo $data[Name]; <BR>echo " <BR>"; <BR>echo $table; <BR>echo " <BR>";*/ <BR>mysql_query("drop table $data[Name]"); <BR>} <BR>} <BR>return true; <BR>} <BR>/*截取某个特定字符前的所有字符函数 <BR>*$str 为待截取字符串 <BR>*$flag 特定字符如“_” <BR>*/ <BR>function mysubstr($str,$flag){ <BR>$pos=strpos($str,$flag); <BR>return substr($str,0,$pos); <BR>} <BR>?> <BR>
更改之处在:
1.开头处
<?php
function deldata($dbname,$tableflag){
$db_host = ‘localhost’;
$db_port = ‘3306’;
$db_user = ‘user’;
$db_pass = ‘password’;
改为自己的数据库地址,账号和密码即可
2.结尾处
改为自己的数据库名和想删掉的表前缀
可以复制上面的代码保存为.php,再上传到空间目录打开