我试图将数据库中的所有表列入数组,然后继续删除表内容。我的代码出了什么问题?
<?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++;
}
?>
答案 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;
}