2013-10-31 2 views
0

MySQL 결과 목록을 반복하려고하는데 다음 오류가 계속 나타납니다 : Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in. 나는이 질문이 여러 번 부탁 받았고 나는 많은 양의 연구를 해왔다. 그러나 내가 찾은 답 중 아무 것도 나를 위해 일하지 않았다. 여기 내 코드입니다 :MySQL을 통해 루프를 반복 할 때 연속 오류가 발생했습니다.

require_once('../../../assets/includes/mysql-connect.php'); 
$query = "SELECT * FROM customers"; 
$result = mysqli_query($dbc, $query); 
$num = mysqli_num_rows($result); 

$x = 0; 
while ($row = mysqli_fetch_array($result, MYSQLI_BOTH)) { 

    foreach ($array as $key => $subarray) { 
     //Do something 
    } 
} 

echo $x; 

변수 $num 60 개 결과를 가지고 있지만 어떤 이유로 내가 바로 결과를 통해 루프에 코드를 얻을 수 없습니다. 어떤 도움을 주셔서 감사합니다!

+0

이것은 쿼리가 실패했음을 의미하지만, 왜 그 쿼리가 귀하의 mysql 클라이언트에서 뭔가를 반환하는지 알 수 없습니까? 또한 mysql 또는 mysqli로 연결하고 있습니까? – Mihai

+0

네, 그게 문제입니다. phpmyAdmin에서'SELECT * FROM customers' 쿼리는 60 개의 결과를 반환합니다. 또한, 내 코드에서,'$ num' 변수가 출력 될 때 60이 출력됩니다. 오류가 발생하는 이유를 알지 못합니다. – three3

+0

'foreach ($ row ...'또는'foreach ($ array. ..'? – MahanGM

답변

0

나는 그것을 알아 냈다. 내 루프에서 루프를 시작하기 전에 원래의 변수를 덮어 쓰는 동일한 $query$result 변수를 사용하고있었습니다!

관련 문제