⊗ppSpPDADG 66 of 83 menu

แถวข้อมูลทั้งหมดจากผลลัพธ์ใน PDO ใน PHP

คุณสามารถรับอาร์เรย์ของ แถวข้อมูลทั้งหมดจากผลลัพธ์ของคำสั่ง query ได้ทันที ทำได้โดยใช้เมธอด fetchAll มาดูโหมดการทำงานต่างๆ ของเมธอดนี้กัน ตัวอย่างทั้งหมดจะใช้สำหรับ ตารางทดสอบ

การรับอาร์เรย์แบบธรรมดา

ลองใช้เมธอด fetchAll เพื่อรับอาร์เรย์ข้อมูลแบบธรรมดา โดยปล่อยให้พารามิเตอร์ของเมธอด ว่างไว้:

<?php $res = $pdo->query('SELECT * FROM users'); $row = $res->fetchAll(); var_dump($row); ?>

ผลลัพธ์การทำงานของโค้ด:

[ [ 'id' => 1, 'name' => 'name1', 'age' => 21, 'salary' => 500, ], [ 'id' => 2, 'name' => 'name2', 'age' => 22, 'salary' => 600, ], [ 'id' => 3, 'name' => 'name3', 'age' => 23, 'salary' => 600, ], [ 'id' => 4, 'name' => 'name4', 'age' => 24, 'salary' => 700, ], [ 'id' => 5, 'name' => 'name5', 'age' => 25, 'salary' => 800, ], ]

การรับคอลัมน์เดียว

ลองรับเพียงคอลัมน์เดียว จากตาราง โดยส่ง พารามิเตอร์ FETCH_COLUMN ไปยัง เมธอด fetchAll:

<?php $res = $pdo->query('SELECT name FROM users'); $row = $res->fetchAll(PDO::FETCH_COLUMN); var_dump($row); ?>

ผลลัพธ์การทำงานของโค้ด:

[ 'name1', 'name2', 'name3', 'name4', 'name5', ]

การรับคู่คีย์-ค่า

ลองรับข้อมูลในรูปแบบ คู่คีย์-ค่า โดยที่คีย์คือ id และค่าคือชื่อผู้ใช้ โดยส่งโหมด FETCH_KEY_PAIR ไปเป็นพารามิเตอร์ ของเมธอด fetchAll:

<?php $res = $pdo->query('SELECT id, name FROM users'); $row = $res->fetchAll(PDO::FETCH_KEY_PAIR); var_dump($row); ?>

ผลลัพธ์การทำงานของโค้ด:

[ 1 => 'name1', 2 => 'name2', 3 => 'name3', 4 => 'name4', 5 => 'name5', ]

การรับเรกคอร์ดด้วยฟิลด์ที่ไม่ซ้ำ

สามารถทำให้ฟิลด์ที่ไม่ซ้ำ (โดยทั่วไป คือ id) กลายเป็นคีย์สำหรับแต่ละ อาร์เรย์ย่อย:

<?php $res = $pdo->query('SELECT * FROM users'); $row = $res->fetchAll(PDO::FETCH_UNIQUE); var_dump($row); ?>

ผลลัพธ์การทำงานของโค้ด:

[ 1 => [ 'id' => 1, 'name' => 'name1', 'age' => 21, 'salary' => 500, ], 2 => [ 'id' => 2, 'name' => 'name2', 'age' => 22, 'salary' => 600, ], 3 => [ 'id' => 3, 'name' => 'name3', 'age' => 23, 'salary' => 600, ], 4 => [ 'id' => 4, 'name' => 'name4', 'age' => 24, 'salary' => 700, ], 5 => [ 'id' => 5, 'name' => 'name5', 'age' => 25, 'salary' => 800, ], ]

โจทย์ฝึกปฏิบัติ

แสดงผู้ใช้ทั้งหมด จากตาราง users โดยใช้เมธอดที่อธิบายในบทเรียน

แสดงหนึ่งแถวของข้อมูล จากตาราง users

แสดงชื่อและอายุของผู้ใช้ ในรูปแบบคู่คีย์-ค่า

ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ