php中批量删除Mysql中相同前缀的数据表的代码_PHP教程

php教程评论212 views阅读模式

方法一:


复制代码 代码如下:

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] 删除成功!

";

}

}

}

?>

方法二:

今天重装个站,搞了一下午,终于找到可以用的批量删除数据库表的方法。。。

这个是以xx_为前缀的示范,大家可以自己更改为想删除的表前缀


复制代码 代码如下:

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.开头处

function deldata($dbname,$tableflag){

$db_host = 'localhost';

$db_port = '3306';

$db_user = 'user';

$db_pass = 'password';

改为自己的数据库地址,账号和密码即可

2.结尾处

改为自己的数据库名和想删掉的表前缀

可以复制上面的代码保存为.php,再上传到空间目录打开

企鹅博客
  • 本文由 发表于 2020年9月16日 03:54:56
  • 转载请务必保留本文链接:https://www.qieseo.com/311452.html

发表评论