2012-12-18 7 views
0

MySQL 쿼리에 문제가 있습니다. 이 코드 PHP mysql 쿼리가 잘못된 outpout을 제공합니다

enter code here 
$result = mysql_query("SELECT * FROM description"); 
     while ($row = mysql_fetch_array($result)){ 
       $data[] = $row; 
        foreach ($data as $row){ 
         echo $row['name']; 
      } 
    } 



enter code here 

을 쓴 내 출력은 다음과 같습니다 나는 데시벨 (첫 번째, 두 번째, 세 번째) 3 설명이

First description 
First description 
Second description 
First description 
Second description 
Third description 

나는 그가 나에게 뭔가를 줄 이유 단서가없는 이.

무엇이 잘못 됐는지 아는 사람이 있습니까?

+0

무엇을 기대합니까? – exussum

+0

여기서 뭘하고 있는지, 매번 새로운 줄마다 모든 $ 데이터를 출력하고 있습니다. 첫 번째 설명과 두 번째 설명, 두 번째 설명과 두 번째 설명, 두 번째 설명과 세 번째 설명을 얻을 수 있습니다. 이 문제를 해결하려면 [jeroen solution] (http://stackoverflow.com/a/13935876/1488915) – Peon

답변

5

당신은 당신의 while 루프 후이 이동해야합니다

 foreach ($data as $row) { 
      echo $row['name']; 
     } 

먼저 당신은 당신의 $data 변수에 모든 행을 얻을, 오직 당신은 그들을 반향 시작합니다.

2

mysql_fetch_array()은 이중 배열 : 정수 AND 문자열 키를 반환합니다. 완료했다면 :

while ($row = mysql_fetch_array($result)){ 
     var_dump($row); 
    } 

두 개의 키가 모두 표시됩니다. 대신 mysql_fetch_assoc()을 사용해보십시오. 그러면 문자열 키 버전 만 반환됩니다.

1

foreach 루프가 while 루프 안에 있습니다. 그것을 밖으로 이동하고 시도하십시오.

$result = mysql_query("SELECT * FROM description"); 
    while ($row = mysql_fetch_array($result)){ 
      $data[] = $row; 
    } 
    foreach ($data as $row){ 
     echo $row['name']; 
    } 
+0

Working, thanks –

+1

으로 mysqli 또는 pdo를 사용하는 것이 좋습니다 – NappingRabbit

관련 문제