လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PDostatement :: columncount function ကိုတိကျမှန်ကန်စွာရယူရန် Columncount function ကိုအသုံးပြုနည်း။

PDostatement :: columncount function ကိုတိကျမှန်ကန်စွာရယူရန် Columncount function ကိုအသုံးပြုနည်း။

gitbox 2025-06-09

1 ။ PDostatement :: Columnofiat () ?

PDostatement :: Columincouncouncouncouncount () သည် PiTostatement Oblice တွင်ရလဒ်အနေဖြင့်ကိန်းအရေအတွက်နှင့်သက်ဆိုင်သောကိန်းဂဏန်းများနှင့်သက်ဆိုင်သောကိန်းဂဏန်းများကိုပြန်လည်ပေးအပ်သော PDostatement Oblice တွင်နည်းလမ်းဖြစ်သည်။ ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -

 public PDOStatement::columnCount(): int

SQL query (အထူးသဖြင့် select statement statement) execute လုပ်ပြီးနောက်ရလဒ် set တွင်ကော်လံမည်မျှထည့်သွင်းရန်ဤနည်းလမ်းကိုသင်ခေါ်ဆိုနိုင်သည်။


2 ။ အခြေခံအသုံးပြုမှုနည်းလမ်း

အရိုးရှင်းဆုံးဥပမာကိုကြည့်ရအောင်။

 <?php
$pdo = new PDO('mysql:host=localhost;dbname=test', 'user', 'password');
$stmt = $pdo->query('SELECT id, name, email FROM users');

$columnCount = $stmt->columnCount();

echo "ကော်လံအရေအတွက်ဖြစ်ပါတယ်: " . $columnCount;
?>

အထက်ပါကုဒ်ကိုကွပ်မျက်ပြီးနောက် output ကိုဖြစ်လိမ့်မည် -

 ကော်လံအရေအတွက်ဖြစ်ပါတယ်: 3

ဤအချက်ကမူရှာဖွေမှုရလဒ်များတွင်နယ်ပယ်သုံးခု - ID , အမည် နှင့် အီးမေးလ် ပါရှိသည်။


3 ။ မှတ်ချက်။ ။ ကော်လံအရေအတွက်ကိုမရမှီသင်စုံစမ်းမှုတစ်ခုပြုလုပ်ရမည်

ဖြစ်ရပ်မှန်များကိုမဖြေရှင်းနိုင်သော (သို့) ရလဒ်အနေဖြင့်ရလဒ်အနေဖြင့်ရလဒ်မပြုလုပ်ခဲ့သည့် (သို့) ရလဒ်မပြုလုပ်သော (ဥပမာ, မွမ်းမံ ခြင်း , ဖျက်ခြင်း ) ကိုအကောင်အထည်ဖော်ခြင်းသို့မဟုတ်လုပ်ဆောင်ခြင်းမပြုရန် Columeniouncount () ကို ရှာဖွေရန်ကြိုးစားခြင်းဖြစ်သည်။ ဒါမမှန်ကန်ဘူး

 <?php
$stmt = $pdo->prepare('SELECT id, name FROM users WHERE id = :id');
// ကွပ်မျက်ခံရ -> columnCount ပြန်လာရန်ဖြစ်နိုင်သည် 0 သို့မဟုတ်မမှန်ကန်ကြောင်းတန်ဖိုး
echo $stmt->columnCount(); // ထုံးစံအားဖြင့် 0
?>

ပြန်လာတန်ဖိုးကိုသေချာစေရန်သေချာစေရန်, စုံစမ်းမှုကွပ်မျက်ခံရပြီးနောက်သင်အမြဲဖုန်းဆက်သင့်သည်။

 $stmt->execute([':id' => 1]);
echo $stmt->columnCount(); // ကော်လံအရေအတွက်ကိုမှန်ကန်စွာပြန်ပို့ပါ

4 ။ ပုံမှန် application ကို coleumnofnoint ၏အခြေအနေများ ()

1 ။ Dynamically Table ခေါင်းစဉ်များတည်ဆောက်ခြင်း

သင်ဟာဘုံဒေတာဘေ့စ်စားပွဲ browser tool ကိုတည်ဆောက်နေတယ်ဆိုပါစို့။ သငျသညျကိုဖြည့်စွက်ရန် columnount () နှင့် getcoummeta () ကို သုံးနိုင်သည်:

 <?php
$stmt = $pdo->query('SELECT * FROM users');
$colCount = $stmt->columnCount();

echo "<table border='1'><tr>";
for ($i = 0; $i < $colCount; $i++) {
    $meta = $stmt->getColumnMeta($i);
    echo "<th>" . htmlspecialchars($meta['name']) . "</th>";
}
echo "</tr>";
?>

ဤသည်ကိုအလိုအလျောက် query ရလဒ်နှင့်သက်ဆိုင်သော header ကိုဖန်တီးလိမ့်မည်။


5 ။ RORGOUNT () နှင့် columnofnouncount နှိုင်းယှဉ်

Beginners သည် RowCount () နှင့် columnount () ကိုရှုပ်ထွေးစေလိမ့်မည်။ နှစ်ခုအကြားခြားနားချက်မှာအောက်ပါအတိုင်းဖြစ်သည် -

  • Columnofcoint () - စုံစမ်းမှုရလဒ်တွင်ကော်လံအရေအတွက်ကိုရယူပါ။

  • Rowcount () : အတန်းအရေအတွက်ကိုထိခိုက်မှုရှိသော်လည်း ရွေးချယ်မှုဆိုင်ရာ မေးမြန်းချက်များတွင်အမြဲတမ်းယုံကြည်စိတ်ချရသောမဟုတ်ပါ။

Select စုံစမ်းမှုတစ်ခုဖြင့်ပြန်ယူသည့်အတန်းအရေအတွက်ကိုရရန်သင် fetchall () သို့မဟုတ် traversal ရလဒ်များကိုအသုံးပြုသင့်သည်။


6 ။ ကွဲပြားခြားနားသောဒေတာဘေ့စ်များ၏လိုက်ဖက်တဲ့နှင့်ပတ်သက်။ နှင့်ပတ်သက်။

Columnofcouncouncouncount () အပြုအမူသည်အခြေခံအားဖြင့်ဒေတာဘေ့စ်များတွင်တသမတ်တည်းကိုက်ညီသော်လည်းအချို့ယာဉ်မောင်းများသည် (ထိုကဲ့သို့သော ODBC ဗားရှင်းအဟောင်းများအဟောင်းများအဟောင်းများကဲ့သို့) သည်ကွပ်မျက်မီ 0 င် 0 င် 0 င်သို့ပြန်လာနိုင်သည်။ ထို့ကြောင့်တိကျသောတန်ဖိုးများရရှိရန်အောက်ပါစည်းမျဉ်းများကိုလိုက်နာသင့်သည် -

  1. () သို့မဟုတ် မေးမြန်းမှု () ကို ကွပ်မျက်ခံရဖို့သေချာအောင်လုပ်ပါ။

  2. Metadata-enabled drivers ကိုသုံးပါ။

  3. ဤနည်းလမ်းကိုရလဒ်မဲ့ကြေငြာချက်တွင်မခေါ်ပါနှင့်။


7 ။ API output field information ကို Process

အကယ်. သင်သည် Rest API ကိုဖွင့ ်. မှတ်တမ်းတစ်ခုစီ၏လယ်ကွင်းအချက်အလက်များကိုပြန်ပို့လိုပါကဥပမာတစ်ခုအလိုအလျှောက် field list ကိုအလိုအလျောက်ထုတ်လုပ်ရန်သင် columncount () ကို သုံးနိုင်သည်။

 <?php
$stmt = $pdo->query('SELECT * FROM users');
$columns = [];
for ($i = 0; $i < $stmt->columnCount(); $i++) {
    $meta = $stmt->getColumnMeta($i);
    $columns[] = $meta['name'];
}

header('Content-Type: application/json');
echo json_encode([
    'columns' => $columns,
    'data' => $stmt->fetchAll(PDO::FETCH_ASSOC)
]);
?>

https://gitbox.net/api/api/pi/v1/table/users လိုတည်ဆောက်ရေးမျက်နှာပြင်များကအထူးသဖြင့်အဆင်ပြေသည်။