PDOStatement :: ดึงข้อมูล
คู่มือการใช้งาน PHP PDO อ้างอิง
PDOStatement :: ดึงข้อมูล - มุ่งเน้นผลที่ได้รับจากแถวถัดไป (PHP 5> = 5.1.0, PECL PDO> = 0.1.0)
คำอธิบาย
ไวยากรณ์
mixed PDOStatement::fetch ([ int $fetch_style [, int $cursor_orientation = PDO::FETCH_ORI_NEXT [, int $cursor_offset = 0 ]]] )
จาก PDOStatement วัตถุชุดผลลัพธ์ที่เกี่ยวข้องได้รับแถวถัดไป พารามิเตอร์ fetch_style POD กำหนดวิธีการแถวที่จะถูกส่งกลับ
พารามิเตอร์
fetch_style
วิธีการควบคุมบรรทัดถัดไปจะถูกส่งกลับไปยังผู้โทร ค่านี้ต้อง PDO :: FETCH_ * ค่าคงที่ในชุดค่าเริ่มต้นสำหรับ PDO :: ATTR_DEFAULT_FETCH_MODE (ค่าเริ่มต้น PDO :: FETCH_BOTH)
PDO :: FETCH_ASSOC: ส่งกลับอาร์เรย์จัดทำดัชนีชื่อคอลัมน์ของชุดผลลัพธ์
PDO :: FETCH_BOTH (เริ่มต้น): ส่งกลับตั้งชื่อคอลัมน์ผลดัชนีอาร์เรย์เริ่มต้นด้วย 0 และจำนวนคอลัมน์
PDO :: FETCH_BOUND: ส่งกลับ
TRUE
ตัวแปร PHP และกำหนดค่าคอลัมน์ในผลการตั้งค่า PDOStatement :: bindColumn () วิธีการที่มีผลผูกพันPDO :: FETCH_CLASS: ขอให้กลับมาเป็นตัวอย่างใหม่ของชั้นเรียนชื่อคอลัมน์การทำแผนที่ในผลตั้งชื่อชั้นของสถานที่ให้บริการที่สอดคล้องกัน หาก
fetch_style
มี PDO :: FETCH_CLASSTYPE (ตัวอย่างเช่น: PDO :: FETCH_CLASS | PDO :: FETCH_CLASSTYPE ) ชื่อชั้นจะถูกกำหนดโดยค่าของคอลัมน์แรกPDO :: FETCH_INTO: อัพเดตตัวอย่างคำขอระดับที่มีอยู่แมปไปยังคอลัมน์ในระดับผลชุดชื่อสถานที่ให้บริการ
PDO :: FETCH_LAZY: ร่วมด้วย PDO :: FETCH_BOTH และ PDO :: FETCH_OBJ สำหรับการสร้างชื่อตัวแปรวัตถุที่ใช้ในการเข้าถึง
PDO :: FETCH_NUM: กลับไปจำนวนคอลัมน์ศูนย์จัดทำดัชนีผลชุดอาร์เรย์
PDO :: FETCH_OBJ: คืนชื่อคุณสมบัติที่สอดคล้องกับผลการตั้งชื่อคอลัมน์วัตถุที่ไม่ระบุชื่อ
cursor_orientation
สำหรับวัตถุ PDOStatement ตัวแทนเคอร์เซอร์เลื่อนค่านี้จะกำหนดว่าแถวจะถูกส่งกลับไปยังผู้โทร ค่านี้ต้อง PDO :: FETCH_ORI_ * ค่าคงที่ในชุดเริ่มต้นคือ PDO :: FETCH_ORI_NEXT ที่จะได้รับวัตถุ PDOStatement ใช้เคอร์เซอร์เลื่อนคุณต้องใช้เมื่อ PDO :: เตรียม () งบปรับสภาพ SQL ตั้ง PDO :: ATTR_CURSOR แอตทริบิวต์ PDO :: CURSOR_SCROLL
สาขา
สำหรับพารามิเตอร์ cursor_orientation ถูกตั้งค่าให้ PDO :: วัตถุ PDOStatement เป็นตัวแทนของเคอร์เซอร์เลื่อน FETCH_ORI_ABS ค่านี้ระบุผลการตั้งค่าที่คุณต้องการที่จะได้รับเส้นจำนวนเส้นแน่นอน
สำหรับพารามิเตอร์ cursor_orientation ถูกตั้งค่าให้ PDO :: FETCH_ORI_REL วัตถุ PDOStatement ที่เป็นตัวแทนของเคอร์เซอร์เลื่อนค่านี้ระบุ PDOStatement โทร :: ดึงข้อมูล () ก่อนที่ตำแหน่งของเคอร์เซอร์ที่เกี่ยวกับการโฆษณาที่คุณต้องการที่จะได้รับ
ราคาย้อนกลับ
กลับมาเมื่อฟังก์ชั่นนี้ (วิธีการ) มูลค่าขึ้นอยู่กับชนิดสกัดที่ประสบความสำเร็จ ในทุกกรณีความล้มเหลวกลับ FALSE
ตัวอย่าง
รับแถวที่มีวิธีการสกัดที่แตกต่างกัน
<?php $sth = $dbh->prepare("SELECT name, colour FROM fruit"); $sth->execute(); /* 运用 PDOStatement::fetch 风格 */ print("PDO::FETCH_ASSOC: "); print("Return next row as an array indexed by column name\n"); $result = $sth->fetch(PDO::FETCH_ASSOC); print_r($result); print("\n"); print("PDO::FETCH_BOTH: "); print("Return next row as an array indexed by both column name and number\n"); $result = $sth->fetch(PDO::FETCH_BOTH); print_r($result); print("\n"); print("PDO::FETCH_LAZY: "); print("Return next row as an anonymous object with column names as properties\n"); $result = $sth->fetch(PDO::FETCH_LAZY); print_r($result); print("\n"); print("PDO::FETCH_OBJ: "); print("Return next row as an anonymous object with column names as properties\n"); $result = $sth->fetch(PDO::FETCH_OBJ); print $result->NAME; print("\n"); ?>
ตัวอย่างข้างต้นจะออก:
PDO::FETCH_ASSOC: Return next row as an array indexed by column name Array ( [NAME] => apple [COLOUR] => red ) PDO::FETCH_BOTH: Return next row as an array indexed by both column name and number Array ( [NAME] => banana [0] => banana [COLOUR] => yellow [1] => yellow ) PDO::FETCH_LAZY: Return next row as an anonymous object with column names as properties PDORow Object ( [NAME] => orange [COLOUR] => orange ) PDO::FETCH_OBJ: Return next row as an anonymous object with column names as properties kiwi
ใช้เคอร์เซอร์เลื่อนเรียกแถว
<?php function readDataForwards($dbh) { $sql = 'SELECT hand, won, bet FROM mynumbers ORDER BY BET'; try { $stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL)); $stmt->execute(); while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) { $data = $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n"; print $data; } $stmt = null; } catch (PDOException $e) { print $e->getMessage(); } } function readDataBackwards($dbh) { $sql = 'SELECT hand, won, bet FROM mynumbers ORDER BY bet'; try { $stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL)); $stmt->execute(); $row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_LAST); do { $data = $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n"; print $data; } while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_PRIOR)); $stmt = null; } catch (PDOException $e) { print $e->getMessage(); } } print "Reading forwards:\n"; readDataForwards($conn); print "Reading backwards:\n"; readDataBackwards($conn); ?>
ตัวอย่างข้างต้นจะออก:
Reading forwards: 21 10 5 16 0 5 19 20 10 Reading backwards: 19 20 10 16 0 5 21 10 5