PDostatement :: Columincouncouncouncouncount () သည် PiTostatement Oblice တွင်ရလဒ်အနေဖြင့်ကိန်းအရေအတွက်နှင့်သက်ဆိုင်သောကိန်းဂဏန်းများနှင့်သက်ဆိုင်သောကိန်းဂဏန်းများကိုပြန်လည်ပေးအပ်သော PDostatement Oblice တွင်နည်းလမ်းဖြစ်သည်။ ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -
public PDOStatement::columnCount(): int
SQL query (အထူးသဖြင့် select statement statement) execute လုပ်ပြီးနောက်ရလဒ် set တွင်ကော်လံမည်မျှထည့်သွင်းရန်ဤနည်းလမ်းကိုသင်ခေါ်ဆိုနိုင်သည်။
အရိုးရှင်းဆုံးဥပမာကိုကြည့်ရအောင်။
<?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 , အမည် နှင့် အီးမေးလ် ပါရှိသည်။
ဖြစ်ရပ်မှန်များကိုမဖြေရှင်းနိုင်သော (သို့) ရလဒ်အနေဖြင့်ရလဒ်အနေဖြင့်ရလဒ်မပြုလုပ်ခဲ့သည့် (သို့) ရလဒ်မပြုလုပ်သော (ဥပမာ, မွမ်းမံ ခြင်း , ဖျက်ခြင်း ) ကိုအကောင်အထည်ဖော်ခြင်းသို့မဟုတ်လုပ်ဆောင်ခြင်းမပြုရန် 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(); // ကော်လံအရေအတွက်ကိုမှန်ကန်စွာပြန်ပို့ပါ
သင်ဟာဘုံဒေတာဘေ့စ်စားပွဲ 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 ကိုဖန်တီးလိမ့်မည်။
Beginners သည် RowCount () နှင့် columnount () ကိုရှုပ်ထွေးစေလိမ့်မည်။ နှစ်ခုအကြားခြားနားချက်မှာအောက်ပါအတိုင်းဖြစ်သည် -
Columnofcoint () - စုံစမ်းမှုရလဒ်တွင်ကော်လံအရေအတွက်ကိုရယူပါ။
Rowcount () : အတန်းအရေအတွက်ကိုထိခိုက်မှုရှိသော်လည်း ရွေးချယ်မှုဆိုင်ရာ မေးမြန်းချက်များတွင်အမြဲတမ်းယုံကြည်စိတ်ချရသောမဟုတ်ပါ။
Select စုံစမ်းမှုတစ်ခုဖြင့်ပြန်ယူသည့်အတန်းအရေအတွက်ကိုရရန်သင် fetchall () သို့မဟုတ် traversal ရလဒ်များကိုအသုံးပြုသင့်သည်။
Columnofcouncouncouncount () အပြုအမူသည်အခြေခံအားဖြင့်ဒေတာဘေ့စ်များတွင်တသမတ်တည်းကိုက်ညီသော်လည်းအချို့ယာဉ်မောင်းများသည် (ထိုကဲ့သို့သော ODBC ဗားရှင်းအဟောင်းများအဟောင်းများအဟောင်းများကဲ့သို့) သည်ကွပ်မျက်မီ 0 င် 0 င် 0 င်သို့ပြန်လာနိုင်သည်။ ထို့ကြောင့်တိကျသောတန်ဖိုးများရရှိရန်အောက်ပါစည်းမျဉ်းများကိုလိုက်နာသင့်သည် -
() သို့မဟုတ် မေးမြန်းမှု () ကို ကွပ်မျက်ခံရဖို့သေချာအောင်လုပ်ပါ။
Metadata-enabled drivers ကိုသုံးပါ။
ဤနည်းလမ်းကိုရလဒ်မဲ့ကြေငြာချက်တွင်မခေါ်ပါနှင့်။
အကယ်. သင်သည် 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 လိုတည်ဆောက်ရေးမျက်နှာပြင်များကအထူးသဖြင့်အဆင်ပြေသည်။