>데이터 베이스 >MySQL 튜토리얼 >PDO 준비 문을 가져올 때 왜 이중 결과가 나오나요?

PDO 준비 문을 가져올 때 왜 이중 결과가 나오나요?

Patricia Arquette
Patricia Arquette원래의
2024-11-02 17:49:28481검색

Why am I Getting Double Results When Fetching with PDO Prepared Statements?

이중 결과를 가져오는 준비된 문 관련 PDO 문제

데이터를 CSV 파일로 내보내기 위해 스크립트를 사용할 때 다음과 같은 문제가 발생할 수 있습니다. 원하는 단일 행 대신 여러 데이터 사본이 표시됩니다. 이 문제는 PDO 준비된 문으로 작업할 때 명백하게 나타나며 왜 발생하는지 이해하기 어려울 수 있습니다.

이 문제를 해결하려면 반환된 결과에 대해 원하는 형식을 지정하는 것이 중요합니다. 기본적으로 PDO는 열 이름과 0 인덱스 열 번호가 모두 포함된 배열을 반환하는 FETCH_BOTH 모드를 사용합니다. 귀하의 경우, 열 이름으로 인덱싱된 연관 배열만 검색하려고 합니다.

이 상황을 해결하려면 원하는 가져오기 모드를 지정하여 코드를 수정하기만 하면 됩니다.

while ($rows_get_rows = $result_get_rows->fetch(PDO::FETCH_ASSOC))
{
  $csv .= '"'.join('","', str_replace('"', '""', $rows_get_rows))."\"\n";
}

또는 숫자로 인덱스된 배열을 선호하는 경우 PDO::FETCH_NUM을 대신 사용할 수 있습니다.

선택한 옵션에 따라 반환된 결과의 형식이 결정되어 원하는 구조로 데이터를 수신할 수 있습니다. CSV 내보내기.

위 내용은 PDO 준비 문을 가져올 때 왜 이중 결과가 나오나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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