>데이터 베이스 >MySQL 튜토리얼 >내 MySQL `mysql_fetch_array()`가 첫 번째 행만 반환하는 이유는 무엇입니까?

내 MySQL `mysql_fetch_array()`가 첫 번째 행만 반환하는 이유는 무엇입니까?

DDD
DDD원래의
2024-12-01 16:20:15886검색

Why Does My MySQL `mysql_fetch_array()` Only Return the First Row?

MySQL 상호 작용의 단일 행 검색 이해

제공된 코드에서 mysql_query() 함수를 활용하여 결과를 검색하고 있습니다. MySQL 데이터베이스에서 설정한 후 mysql_fetch_array()를 사용하여 행 가져오기를 시도합니다. 그런데 첫 번째 행만 액세스할 수 있는 문제가 발생했습니다.

mysql_fetch_array() 함수는 결과 세트에서 행을 검색하고 이를 인덱스 배열로 나타냅니다. 귀하의 경우, 각 행은 "a", "b" 또는 "c"로 시작하는 일치하는 아티스트 이름 세트에 해당합니다.

mysql_fetch_array()를 처음 실행하면 첫 번째 아티스트 이름이 배치됩니다. 결과 행을 $array_result 변수에 설정하여 $array_result[0]을 사용할 수 있게 만듭니다. 그러나 매개변수를 지정하지 않고 mysql_fetch_array()에 대한 후속 호출은 항상 첫 번째 행을 반환하고 이전 결과를 덮어씁니다.

결과 세트에서 여러 행을 가져오려면 a 내에서 mysql_fetch_array() 함수를 반복해야 합니다. 고리. 예를 들어, while 또는 foreach 루프를 사용하여 결과 집합을 반복하고 각 반복 내에서 mysql_fetch_array()를 호출하고 결과 배열을 변수에 저장할 수 있습니다. 이렇게 하면 각 행에 개별적으로 액세스하고 원하는 대로 해당 내용을 에코할 수 있습니다.

다음은 while 루프를 사용하는 예입니다.

$array = mysql_query("SELECT artist FROM directory WHERE artist LIKE 'a%' OR artist LIKE 'b%' OR artist LIKE 'c%'");
while($row = mysql_fetch_array($array)) {
  var_dump($row); // Outputs contents of each row
}

이 루프는 결과 집합을 반복하고 다음을 출력합니다. 쿼리에서 사용 가능한 모든 데이터에 액세스하고 에코할 수 있습니다.

위 내용은 내 MySQL `mysql_fetch_array()`가 첫 번째 행만 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.