当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
php中批量删除Mysql中相同前缀的数据表
发布时间:2011/7/12 8:50:46 来源:城市学习网 编辑:ziteng

  方法一:

  复制代码 代码如下:

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

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved