လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP တွင် Blob နှင့် Clob Data ကိုထိရောက်စွာထုတ်လုပ်ရန် PDO ကို အသုံးပြု. PDO ကို အသုံးပြု. အသေးစိတ်ရှင်းပြချက်

PHP တွင် Blob နှင့် Clob Data ကိုထိရောက်စွာထုတ်လုပ်ရန် PDO ကို အသုံးပြု. PDO ကို အသုံးပြု. အသေးစိတ်ရှင်းပြချက်

M66 2025-06-11

ယေဘုယျအမြင်

PHP, PDO (PHP Data Object) တွင်ဒေတာဘေ့စ်အမျိုးအစားမျိုးစုံကိုထောက်ပံ့သောအစွမ်းထက်။ ပြောင်းလွယ်ပြင်လွယ်ဒေတာဘေ့စ် Access interface ဖြစ်သည်။ Binary Data (Blob) သို့မဟုတ်ကြီးမားသောစာသားဒေတာ (clob) ပါ 0 င်သည့်လယ်ကွင်းများ (clob) ပါ 0 င်ရန်လိုအပ်သည်ဆိုပါကအထူးလုပ်ဆောင်မှုများကိုအသုံးပြုရန်လိုအပ်သည်။ ဤဆောင်းပါးသည်ဤအချက်အလက်အမျိုးအစားနှစ်မျိုးကိုမည်သို့ပြုလုပ်ရန်နှင့်၎င်းကိုကုဒ်များဖြင့်ရှင်းပြရန် PDO ကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းပြပါမည်။

PDO မှနိဒါန်း

PDO သည်စည်းလုံးညီညွတ်သောအရာဝတ်ထု ဦး တည်ရာ API ကိုထောက်ပံ့သည်။ MySQL, SQLite, Postgresqlqlql နှင့်အခြားဒေတာဘေ့စ်များကိုထောက်ပံ့သည်။ PDO နှင့်အတူ developer များနှင့်အတူ developer များပိုမိုလုံခြုံနှင့်ပိုပြီးထိန်းသိမ်းနိုင်သောဒေတာဘေ့စစစ်ဆင်ရေးကုဒ်ရေးနိုင်ပါတယ်။

Blob ဒေတာအမျိုးအစားများကိုဘယ်လိုကိုင်တွယ်ရမလဲ

Blob (Binary Mistrict) သည်ရုပ်ပုံများ, အသံနှင့်ဗွီဒီယိုဖိုင်များကဲ့သို့သော binary data များကိုသိမ်းဆည်းရန်အသုံးပြုသည်။ PDO ဖြင့်ကျွန်ုပ်တို့သည်ဤ binary data များကိုသိမ်းဆည်းထားပြီးကြိုတင်ပြင်ဆင်ထားသူများနှင့် placeholders များကိုအသုံးပြုခြင်းဖြင့်ဤ binary data များကိုလုံခြုံစွာထည့်သွင်း။ ဖတ်ရှုနိုင်သည်။

 // ဒေတာဘေ့စ်ကိုဆက်သွယ်ပါ
$dsn = "mysql:host=localhost;dbname=test";
$user = "username";
$password = "password";

try {
    $pdo = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    echo "ဒေတာဘေ့စဆက်သွယ်မှုမအောင်မြင်ပါ: " . $e->getMessage();
    exit;
}

// အဖြစ်ပုံကိုသိမ်းဆည်းပါBLOB
$imagePath = 'path/to/image.jpg';
$imageData = file_get_contents($imagePath);

$stmt = $pdo->prepare("INSERT INTO images (data) VALUES (:data)");
$stmt->bindParam(':data', $imageData, PDO::PARAM_LOB);
$stmt->execute();

// ဒေတာဘေ့စ်မှရုပ်ပုံများကိုဖတ်ပါ
$stmt = $pdo->query("SELECT data FROM images LIMIT 1");
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$imageData = $row['data'];

header("Content-type: image/jpeg");
echo $imageData;

Clob Data အမျိုးအစားများကိုမည်သို့ကိုင်တွယ်ရမည်နည်း

clob (ဇာတ်ကောင်ကြီးများ) သည်ရှည်လျားသောစာသားသို့မဟုတ်ကြွယ်ဝသောစာသားအကြောင်းအရာများကဲ့သို့သောစာလုံးရေအချက်အလက်အမြောက်အများကိုသိမ်းဆည်းရန်အသုံးပြုသည်။ PDO တွင်စာသားအချက်အလက်များကို SQL ထုတ်ပြန်ချက်များတွင်သီးခြားထုတ်ပြန်ချက်များတွင်ခညျြနှောငျသူများအတွက်ခညျြနှောငျနိုင်သည်။

 // ဒေတာဘေ့စ်ကိုဆက်သွယ်ပါ
$dsn = "mysql:host=localhost;dbname=test";
$user = "username";
$password = "password";

try {
    $pdo = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    echo "ဒေတာဘေ့စဆက်သွယ်မှုမအောင်မြင်ပါ: " . $e->getMessage();
    exit;
}

// ရှည်လျားသောစာသားကိုသိမ်းဆည်းပါCLOB
$textContent = "This is a long text";

$stmt = $pdo->prepare("INSERT INTO texts (content) VALUES (:content)");
$stmt->bindValue(':content', $textContent, PDO::PARAM_STR);
$stmt->execute();

// ဒေတာဘေ့စ်မှရှည်လျားသောစာသားကိုဖတ်ပြီးပြပါ
$stmt = $pdo->query("SELECT content FROM texts LIMIT 1");
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$textContent = $row['content'];

echo $textContent;

နိဂုံးချုပ်အားဖြင့်

Blob နှင့် Clob ၏ clob များကိုပြုလုပ်ရန် PDO ကိုအသုံးပြုသောအခါဒေတာလုံခြုံရေးနှင့်သမာဓိရှိစေရေးကိုသေချာစေရန်သင့်လျော်သောနည်းလမ်းများကိုအသုံးပြုရမည်။ Blob အမျိုးအစားများအတွက် Bininary data ကို binding လုပ်ရန် Bindaram ကိုအသုံးပြုရန်အကြံပြုသည်။ Clob အမျိုးအစားများအတွက်အက်ခရာဒေတာကိုချည်နှောင်ရန် Bindvalue အတွက်။ ဤဥပမာသည် developer များအတွက်ရှင်းလင်းသောလိုအပ်ချက်များနှင့်အညီရည်ညွှန်းရန်အတွက်ရှင်းလင်းသောကုဒ်များဥပမာများကိုပေးသည်။