2013-03-17 70 views
-2

我想列出數據庫中的所有表到數組中,然後繼續刪除表內容。我的代碼有什麼問題?用php mysql刪除數據庫表

<?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

你會得到什麼錯誤?你嘗試過哪些調試? – 2013-03-17 20:38:30

回答

0

在for循環結束時,您不需要執行$ i ++;因爲這個操作已經包含在for循環中了。

此刻將刪除一個表中的內容,然後跳到一個表,再刪除一個表中的內容,並跳過一個又你的代碼...

而且$我應該以0爲開始php中的第一個元素是元素0.

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

謝謝我使用了這兩個建議,它的工作完美 – user2180246 2013-03-17 21:23:10