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

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

DDD
DDD원래의
2024-10-29 05:35:311098검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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