In php delete the code of data table with the same prefix in Mysql in batches

  • 2020-05-09 18:20:58
  • OfStack

Method 1:
 
<?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]  Deleted successfully! <br>"; 
} 
} 
} 
?> 


Method 2:
Today reinstall a station, made 1 afternoon, finally found the method that can use batch delete database table...
This example is prefixed with xx_, and you can change it to the table prefix you want to delete
 
<?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){ 
// The test of  
/*echo $data[Name]; 
echo " 
"; 
echo $table; 
echo " 
";*/ 
mysql_query("drop table $data[Name]"); 
} 
} 
return true; 
} 
/* Intercepts all character functions before a particular character  
*$str  For the string to be intercepted  
*$flag  Specific characters such as" _ "  
*/ 
function mysubstr($str,$flag){ 
$pos=strpos($str,$flag); 
return substr($str,0,$pos); 
} 
?> 

Changes:
1. The beginning

< ?php
function deldata($dbname,$tableflag){
$db_host = 'localhost';
$db_port = '3306';
$db_user = 'user';
$db_pass = 'password';
Change your own database address, account number and password
The end 2.

Change to your own database name and the table prefix you want to delete
You can copy the above code and save it as.php and upload it to the spatial directory to open

Related articles: