လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MySQLI_RESFULT ဒေတာများကို CSV ဖိုင်သို့တင်ပို့ပါ

MySQLI_RESFULT ဒေတာများကို CSV ဖိုင်သို့တင်ပို့ပါ

M66 2025-05-28

PHP တွင်ဒေတာဘေ့စ်လုပ်ငန်းများအတွက် MySQLI extension ကိုအသုံးပြုသောအခါ, MySQLI_RESELT အတန်းကို CSV ဖိုင်တစ်ခုအနေဖြင့်တင်ရန်နှင့်ဤအချက်အလက်များကို CSV ဖိုင်တစ်ခုအဖြစ်တင်ပို့ရန်အသုံးပြုသည်။ ဤဆောင်းပါးသည်ဤစစ်ဆင်ရေးကိုဖြည့်စွက်ရန် MySQLI_RESURRESult function ကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းပြပါမည်။

1 ။ ဒေတာဘေ့စ်ကိုဆက်သွယ်ပါ

ပထမ ဦး စွာကျွန်ုပ်တို့သည်ဒေတာများကိုအောင်မြင်စွာမေးမြန်းနိုင်ရန်သေချာစေရန်ဒေတာဘေ့စ်ဆက်သွယ်မှုကိုတည်ဆောက်ရန်လိုအပ်သည်။ ဆက်သွယ်မှုတစ်ခုတည်ဆောက်ရန်အတွက်ကုဒ်နမူနာတစ်ခုရှိသည်။

 <?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "my_database";

// ဆက်သွယ်မှုတစ်ခုဖန်တီးပါ
$conn = new mysqli($servername, $username, $password, $dbname);

// ဆက်သွယ်မှုကိုစစ်ဆေးပါ
if ($conn->connect_error) {
    die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $conn->connect_error);
}
?>

2 ။ quent ကို execute

ထို့နောက် SQL query ကို execute လုပ်ပြီး MySQLI_RESULT အရာဝတ်ထုကိုရယူပါ။ အသုံးပြုသူများကိုအသုံးပြုသူများ ဟုခေါ်သောစားပွဲတစ်ခုကိုမေးမြန်းလိုပါကအသုံးပြုသူများအားလုံး၏အမည်များနှင့်အီးမေးလ်များကိုမေးမြန်းလိုပါသည်။

 <?php
$sql = "SELECT name, email FROM users";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // ဒေတာများတည်ရှိသည်,ပို့ကုန်
    exportToCSV($result);
} else {
    echo "ဒေတာမရှိပါ";
}
?>

3 ။ ဒေတာကို CSV ဖိုင်အဖြစ်ပို့ပါ

ယခုတွင်ကျွန်ုပ်တို့သည် MySQLI_RESULT OT အရာများကို CSV ဖိုင်တစ်ခုအဖြစ်တင်ပို့ရန်အတွက်ပစ္စည်းများကိုသုံးမည်။ ကျွန်ုပ်တို့သည်ဤ function ကို futcsv function မှတဆင့်အကောင်အထည်ဖော်သည်။

 <?php
function exportToCSV($result) {
    // ဖိုင်အမည်ကိုသတ်မှတ်ပါ
    $filename = "users_data_" . date("Y-m-d") . ".csv";

    // output ကိုဖွင့်လှစ်,သို့မဟုတ်ဖန်တီးနှင့်ဖွင့်လှစ် CSV စာချုပ်စာတမ်း
    $output = fopen('php://output', 'w');

    // တည်ဆောက်သည် HTTP header သတင်းအချက်အလက်,强制浏览器下载စာချုပ်စာတမ်း
    header('Content-Type: text/csv');
    header('Content-Disposition: attachment; filename="' . $filename . '"');

    // ထုတ်လုပ်ခြင်း CSV စာချုပ်စာတမ်း的列头
    $columns = $result->fetch_fields();
    $header = [];
    foreach ($columns as $column) {
        $header[] = $column->name;
    }
    fputcsv($output, $header);

    // ထုတ်လုပ်ခြင်း查询结果
    while ($row = $result->fetch_assoc()) {
        fputcsv($output, $row);
    }

    // 关闭ထုတ်လုပ်ခြင်း流
    fclose($output);
}
?>

4 ။ ပြီးပြည့်စုံသောကုဒ်ဥပမာ

အောက်ပါအချက်များသည်စုံစမ်းမှုရလဒ်များကိုတင်ပို့ရန် PHP Code သည် CSV ဖိုင်သို့ -

 <?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "my_database";

// ဆက်သွယ်မှုတစ်ခုဖန်တီးပါ
$conn = new mysqli($servername, $username, $password, $dbname);

// ဆက်သွယ်မှုကိုစစ်ဆေးပါ
if ($conn->connect_error) {
    die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $conn->connect_error);
}

// တစ် ဦး စုံစမ်းမှု execute
$sql = "SELECT name, email FROM users";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    exportToCSV($result);
} else {
    echo "ဒေတာမရှိပါ";
}

// ထုတ်ကုန် CSV လုပ်ဆောင်ချက်
function exportToCSV($result) {
    // ဖိုင်အမည်ကိုသတ်မှတ်ပါ
    $filename = "users_data_" . date("Y-m-d") . ".csv";

    // output ကိုဖွင့်လှစ်,သို့မဟုတ်ဖန်တီးနှင့်ဖွင့်လှစ် CSV စာချုပ်စာတမ်း
    $output = fopen('php://output', 'w');

    // တည်ဆောက်သည် HTTP header သတင်းအချက်အလက်,强制浏览器下载စာချုပ်စာတမ်း
    header('Content-Type: text/csv');
    header('Content-Disposition: attachment; filename="' . $filename . '"');

    // ထုတ်လုပ်ခြင်း CSV စာချုပ်စာတမ်း的列头
    $columns = $result->fetch_fields();
    $header = [];
    foreach ($columns as $column) {
        $header[] = $column->name;
    }
    fputcsv($output, $header);

    // ထုတ်လုပ်ခြင်း查询结果
    while ($row = $result->fetch_assoc()) {
        fputcsv($output, $row);
    }

    // 关闭ထုတ်လုပ်ခြင်း流
    fclose($output);
}

// ဒေတာဘေ့စ် connection ကိုပိတ်ပါ
$conn->close();
?>

အထက်ပါအဆင့်များမှတဆင့် MySQL query ကိုအလွယ်တကူတင်ပို့နိုင်သည်။ ဒေတာဘေ့စ်နှင့်ချိတ်ဆက်ရန်နှင့်ဒေတာများကိုမှန်ကန်စွာမေးမြန်းရန်သေချာအောင်လုပ်ပါ။ ရလဒ်များကို MySQLI_RESELT မှတဆင့်လုပ်ငန်းများ၌ တင်. တင်ပို့နိုင်သည်။