2013-03-17 1 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

어떤 오류가 발생합니까? 어떤 디버깅을 시도 했습니까? –

답변

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

관련 문제