使用php \ mysql删除数据库表

时间:2013-03-17 20:37:25

标签: php mysql database

我试图将数据库中的所有表列入数组,然后继续删除表内容。我的代码出了什么问题?

    <?php

mysql_connect('localhost', 'root','');

mysql_select_db(database_name);

$res = mysql_query("SHOW TABLES");

$tables = array();

while($row = mysql_fetch_array($res, MYSQL_NUM)) {
    $tables[] = "$row[0]";
}

$length = count($tables);

for ($i = 1; $i < $length; $i++) {
  $res = "DELETE FROM $tables[$i]";
  mysql_query($res);
  echo $res;
    $i++;
}
?>

1 个答案:

答案 0 :(得分:1)

在for循环结束时,你不需要做$ i ++;因为这个操作已经包含在for循环中了。

您目前的代码将删除一个表的内容,然后跳过一个表,再次删除一个表的内容并再次跳过一个...

同样$ i应该以0开头,因为php中数组的第一个元素是元素0。

for ($i = 0; $i < $length; $i++) {
    $res = "DELETE FROM $tables[$i]";
    mysql_query($res);
    echo $res;
}