18/11/2011, 11:45
|
| | Fecha de Ingreso: junio-2003
Mensajes: 940
Antigüedad: 21 años, 5 meses Puntos: 8 | |
¿Borrar todas las tablas que empiecen por temp_? Buenas
¿Cómo puedo borrar todas las tablas de una base de datos que empiecen por temp_?
Es para borrar las tablas de un CMS que me las genera.
En un foro he visto el siguiente script, pero no me lo hace:
<?php
function clear_temp () {
// checks for tables that begin with variable $tmp_table_prefix then deletes them
global $conn, $config;
// set temp_table_prefix (adjust as necessary)
$tmp_table_prefix = $config['table_prefix']. 'temp_';
$sql = "SHOW TABLES LIKE '$tmp_table_prefix%'";
$recordSet = $conn->Execute($sql);
if (!$recordSet) echo($sql);
$num = $recordSet->RecordCount();
// create query string to delete all tables that begin with $tmp_table_prefix
$sqlD = "DROP TABLE IF EXISTS ";
for ($loop=0; $loop < $num;)
{
$loop++;
$sqlD .= $recordSet->fields[0];
if (($num - $loop) > 0) $sqlD .= ", ";
$recordSet->MoveNext();
}
//echo $sqlD;
// Nuke those tables
$recordSetD = $conn->Execute($sqlD);
if (!$recordSetD) echo($sqlD) .' -- none exist';
else echo '<br>Finished';
} //end function clear_temp ()
?>
Muchas Gracias |