현재 위치: > 최신 기사 목록> fputcsv ()를 사용하여 mysqli_result를 파일로 내보내십시오

fputcsv ()를 사용하여 mysqli_result를 파일로 내보내십시오

M66 2025-05-28

fputcsv () 는 PHP의 내장 함수로 배열의 데이터를 파일로 작성하고 CSV 형식으로 형식화합니다. 각 행 배열은 CSV 형식 라인으로 변환되며 배열의 각 요소는 쉼표 (또는 지정된 분리기)로 분리됩니다.

기능 프로토 타입 :

 bool fputcsv ( resource $handle , array $fields [, string $separator = "," [, string $enclosure = "\"" [, string $escape = "\\" ]]] )
  • $ 핸들 : 대상 파일의 파일 핸들은 유효한 파일 리소스 여야합니다.

  • $ Fields : CSV 파일에 기록 될 배열, 일반적으로 데이터베이스 쿼리에서 얻은 결과입니다.

  • $ 분리기 : 구분 기자, 기본값을 쉼표로 지정합니다.

  • $ enclosure : 인용 된 문자, 기본값은 이중 인용문을 지정합니다.

  • $ 탈출 : 탈출 문자, 기본값은 백 슬래시를 지정합니다.

1 단계 : 데이터베이스에 연결하고 쿼리 실행

먼저 데이터베이스에 연결하고 데이터를 가져 오려면 쿼리를 실행해야합니다. 다음은 기본 MySQLI 데이터베이스 연결 및 쿼리 작업입니다.

 <?php
// 데이터베이스에 연결하십시오
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "your_database_name";

$conn = new mysqli($servername, $username, $password, $dbname);

// 연결을 확인하십시오
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// 쿼리를 실행하십시오
$sql = "SELECT id, name, email FROM users";  // 샘플 쿼리
$result = $conn->query($sql);

// 쿼리 결과를 확인하십시오
if ($result->num_rows > 0) {
    // 데이터를 내보낼 수 있습니다
} else {
    echo "0 results";
}
?>

2 단계 : CSV 파일을 생성하고 엽니 다

Fopen () 함수를 사용하여 내보내는 데이터를 저장하기 위해 CSV 파일을 생성하고 열립니다.

 <?php
// a CSV 문서(그렇지 않은 경우 작성하십시오)
$file = fopen("export.csv", "w");

// 쓰다 CSV 문서头部
$headers = ['ID', 'Name', 'Email'];
fputcsv($file, $headers);
?>

3 단계 : 쿼리 결과를 CSV 파일에 쓰기

다음으로 FPUTCSV ()를 사용하여 쿼리 결과를 CSV 파일에 한 줄씩 작성합니다. 쿼리의 각 데이터 줄을 가져 와서 파일에 작성하려면 mysqli_fetch_assoc () 또는 기타 함수를 사용해야합니다.

 <?php
// 逐行读取查询结果并쓰다 CSV 문서
while($row = $result->fetch_assoc()) {
    // 将每一行数据쓰다 CSV 문서
    fputcsv($file, $row);
}

// 关闭문서
fclose($file);
?>

4 단계 : 데이터베이스 연결을 닫습니다

내보내기가 완료된 후에는 데이터베이스 연결을 닫아야합니다.

 <?php
// 데이터베이스 연결을 닫습니다
$conn->close();
?>

완료 코드 예 :

 <?php
// 데이터베이스에 연결하십시오
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "your_database_name";

$conn = new mysqli($servername, $username, $password, $dbname);

// 연결을 확인하십시오
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// 쿼리를 실행하십시오
$sql = "SELECT id, name, email FROM users";  // 샘플 쿼리
$result = $conn->query($sql);

// 쿼리 결과를 확인하십시오
if ($result->num_rows > 0) {
    // a CSV 문서(그렇지 않은 경우 작성하십시오)
    $file = fopen("export.csv", "w");

    // 쓰다 CSV 문서头部
    $headers = ['ID', 'Name', 'Email'];
    fputcsv($file, $headers);

    // 逐行读取查询结果并쓰다 CSV 문서
    while($row = $result->fetch_assoc()) {
        fputcsv($file, $row);
    }

    // 关闭문서
    fclose($file);
    echo "Data has been exported to export.csv";
} else {
    echo "0 results";
}

// 데이터베이스 연결을 닫습니다
$conn->close();
?>

완전한 프로세스 요약 :

  1. 데이터베이스에 연결하십시오 : MySQLI를 사용하여 데이터베이스에 연결하십시오.

  2. 쿼리 실행 : SQL 쿼리를 실행하여 mysqli_result 결과 세트를 가져옵니다.

  3. CSV 파일 작성 : fopen ()을 사용하여 CSV 파일을 열고 fputcsv () 로 헤더에 씁니다.

  4. 데이터 내보내기 데이터 : fputcsv () 루프를 사용하여 각 데이터 라인을 CSV 파일에 작성하십시오.

  5. 연결 : 내보내기가 완료된 후 파일 핸들 및 데이터베이스 연결을 닫으십시오.

이러한 방식으로 데이터베이스에서 데이터를 CSV 파일로 쉽게 내보내므로 데이터를 쉽게 저장, 마이그레이션 또는 분석 할 수 있습니다.