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