サーバーからデータをcsvとしてエクスポートするphp

サーバーからデータをcsvとしてエクスポートするphp
<?php
$dsn = 'mysql:dbname=『データベース名』;host=『ホスト名』';
$user = '『データベースのユーザー名』';
$password = '『データベースのパスワード』';

try {
    // データベース定義を作成
    // ローカルサーバーで行う場合
    //$pdo = new PDO($dsn, $user);
    // サーバー接続で行う場合
    $pdo = new PDO($dsn, $user, $password);

    // 文字コードの変換
    $pdo->query('SET NAMES UTF8');

    // メインテーブルの情報を取得
    $sql = "
        SELECT
          *
        FROM
          『値を取得するテーブル名_tbl』
    ";
    $result = $pdo->query($sql);
    $data = array();
    $code_set_count_list = array();
    // 1行ことにデータ取得
    while($row = $result->fetch(PDO::FETCH_ASSOC)) {
        $data[$row['『ベースとするカラム名(id/post_idなど)』']] = $row;
    }

    // 以下、CSVファイルの生成
    // ヘッダ行(1行目に書き込む項目を定義)
    $columns = array(
        'post_id',
        'post_type',
        'post_status',
        'post_name',
        'post_title',
        'post_content',
    );
    // ファイルポインタを取得
    $fp = fopen('./『エクスポートするファイル名』.csv', 'w+');

    // CSVにヘッダ行を書き込む
    fputcsv($fp, $columns);

    // 各行のデータをCSVに書き込む
    foreach ($data as $key => $val) {
        // ヘッダ行と同じだけの配列を用意する
        $row = array();
        $row[] = ''; // 空要素の場合
        $row[] = 'hogehoge'; // 固定要素の場合
        $row[] = 'publish'; //固定要素の場合
        $row[] = ''; //固定要素の場合
        $row[] = $val['『取得したい値のカラム名』'];
        $row[] = $val['『取得したい値のカラム名』'];
        $row[] = $val['『取得したい値のカラム名』'];

        // 文字コードを変換
        mb_convert_variables('SJIS-win', 'UTF-8', $row);

        // CSVに書き込む
        fputcsv($fp, $row);
    }


} catch (\Exception $ex) {
    echo $ex->getMessage() . PHP_EOL;
}