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

  方法一:

  

复制代码 代码如下:

  <?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,再上传到空间目录打开