>  기사  >  데이터 베이스  >  `mysql_fetch_array`를 사용할 때 두 배의 결과를 얻는 이유는 무엇입니까?

`mysql_fetch_array`를 사용할 때 두 배의 결과를 얻는 이유는 무엇입니까?

DDD
DDD원래의
2024-10-27 09:36:30203검색

Why do I get doubled results when using `mysql_fetch_array`?

mysql_fetch_array를 사용하여 배열에서 두 배의 결과

mysql_fetch_array를 사용하여 MySQL 데이터베이스에서 데이터를 검색할 때 두 배의 결과가 발생할 수 있습니다. 이는 기본적으로 mysql_fetch_array가 배열의 각 행에 대해 연관 인덱스와 숫자 인덱스를 모두 반환하기 때문에 발생합니다.

다음 코드를 고려하세요.

<code class="php">$query_result_array = mysql_fetch_array($query_result);</code>

이 예에서 $query_result_array에는 숫자와 숫자가 모두 포함됩니다. 그리고 연관 인덱스. 결과적으로 배열을 반복할 때 두 배의 출력을 얻게 됩니다.

<code class="php">foreach($table as $table_var)
{
    echo "<td>" . $table_var . "</td>";
} </code>

이를 방지하려면 mysql_fetch_array의 두 번째 매개변수를 사용하여 반환되는 인덱스 유형을 제한할 수 있습니다.

<code class="php">// Numeric keys only
$query_result_array = mysql_fetch_array($query_result, MYSQL_NUM);

// Associative keys only
$query_result_array = mysql_fetch_array($query_result, MYSQL_ASSOC);</code>

또는 mysql_fetch_row 및 mysql_fetch_assoc 함수를 사용하여 각각 숫자 또는 연관 키만 검색할 수 있습니다.

<code class="php">// Numeric keys only
$query_result_array = mysql_fetch_row($query_result);

// Associative keys only
$query_result_array = mysql_fetch_assoc($query_result);</code>

이러한 기술을 사용하면 배열에 원하는 유형의 인덱스만 포함되도록 할 수 있습니다. , 반복 시 결과가 두 배로 늘어나는 것을 방지합니다.

위 내용은 `mysql_fetch_array`를 사용할 때 두 배의 결과를 얻는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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