> 데이터 베이스 > MySQL 튜토리얼 > 내 MySQLi Fetch Array 결과가 두 배로 증가하는 이유는 무엇입니까?

내 MySQLi Fetch Array 결과가 두 배로 증가하는 이유는 무엇입니까?

DDD
풀어 주다: 2024-10-29 05:35:31
원래의
1102명이 탐색했습니다.

Why Does My MySQLi Fetch Array Result in Doubled Output?

배열의 이중 결과(MySQLi Fetch Array)

문제

다음 코드를 실행하면

<code class="php">$table = get_personel_table(1);

function get_personel_table($id) {
    global $connection;
    $query = "SELECT * FROM employees WHERE id=$id ORDER BY id ASC";
    $query_result = mysqli_query($connection, $query);
    confirm_query($query_result);
    $query_result_array = mysqli_fetch_array($query_result);
    return $query_result_array; // returns associative array!
}

foreach($table as $table_var) {
    echo "<td>$table_var</td>";
}</code>
로그인 후 복사

다음과 같은 결과가 발생합니다. 다음과 같은 이중 출력:

1 1   1   1   jordan  jordan  9108121544  9108121544  testEmail   testEmail   testAddress testAddress testCounty  testCounty
로그인 후 복사

솔루션

mysqli_fetch_array의 기본 동작은 결과 행에 대한 연관 인덱스와 숫자 인덱스를 모두 반환하는 것입니다. 이는 주어진 상황에서 바람직하지 않습니다. 반환되는 키를 제한하려면 함수의 두 번째 매개변수를 사용할 수 있습니다.

<code class="php">$query_result_array = mysqli_fetch_array($query_result, MYSQLI_NUM); // numeric keys only
$query_result_array = mysqli_fetch_array($query_result, MYSQLI_ASSOC); // associative keys only</code>
로그인 후 복사

또는 다음 함수를 사용할 수 있습니다.

<code class="php">$query_result_array = mysqli_fetch_row($query_result); // numeric keys only
$query_result_array = mysqli_fetch_assoc($query_result); // associative keys only</code>
로그인 후 복사

숫자 또는 연관 키만 사용 , 출력에서 ​​데이터 중복을 제거할 수 있습니다.

위 내용은 내 MySQLi Fetch Array 결과가 두 배로 증가하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿