เราจะสามารถดึงข้อมูลมาได้ก็ต่อเมื่อเราทำการ query ไปยังฐานข้อมูล และมันคืนค่ากลับมาเป็น resource โดยใช้ฟังก์ชัน mysql_query() ที่ผมได้กล่าวไว้ในบทความที่แล้ว ซึ่งฟังก์ชันในการดึงข้อมูลจาก resource มีหลายตัวดังนี้
ความแตกต่างระหว่าง function ในการดึงข้อมูลใน 4 วิธีแรกนั้นแตกต่างกันเพียงนิดเดียวเท่านั้น ซึ่งผมจะยกตัวอย่างให้ผู้อ่านได้เข้าใจทีละวิธีนะครับ
<?php
$query = "SELECT person_id, name, surname FROM tbl_person";
$rs = mysql_query($query);
while($row = mysql_fetch_row($rs)) {
echo "$row[0] $row[1] $row[2]<br />\n";
}
?>
จากตัวอย่างด้านบนนั้น เราจะสามารถเข้าถึงแต่ละ column (หรือ field) ได้โดยกำหนด key แบบ index เท่านั้น (โดย index แต่ละตัวจะเรียงตาม field ที่ถูกเลือกด้วยคำสั่ง query ดังนั้น index ที่ 0 จะแทน person_id, index ที่ 1 จะแทน name และ index ที่ 2 จะแทน surname)
<?php
$query = "SELECT person_id, name, surname FROM tbl_person";
$rs = mysql_query($query);
while($row = mysql_fetch_assoc($rs)) {
echo $row['person_id'] . " " . $row["name"] . " " . $row['surname'] . "<br />\n";
}
?>
ในการดึงข้อมูลโดยวิธีนี้นั้น เราสามารถเข้าถึงข้อมูลแต่ละ field แบบ associative เท่านั้น ซึ่ง key ของ array จะสร้างตามชื่อ field ที่เราได้เลือกไว้ในคำสั่ง query
<?php
$query = "SELECT person_id, name, surname FROM tbl_person";
$rs = mysql_query($query);
while($row = mysql_fetch_array($rs)) {
echo $row[0] . " " . $row['name'] . " " . $row[2]<br />\n";
}
?>
ในการดึงข้อมูลโดยวิธีนี้ มันจะคืนค่ากลับมาเป็น array ทั้งแบบ associative และแบบ index เลย ดังนั้นเราสามารถเข้าถึงข้อมูลแต่ละ field ได้โดยการอ้าง key หรือกำหนด index ให้มันก็ได้
วิธีสุดท้ายที่แตกต่างจากวิธีอื่น ๆ ก็คือ mysql_result() โดยมันจะคืนค่าเพียง 1 cell เท่านั้น ดังนั้นเราจะต้องกำหนดแถวเรคอร์ด และ field ที่ต้องการดึงมาด้วย ดังนี้
<?php $query = "SELECT count(*) FROM tbl_person"; $rs = mysql_query($query); $count_person = mysql_result($rs, 0, 0); ?>
จากตัวอย่างจะเห็นว่า parameter ตัวแรกนั้นจะต้องกำหนดเป็น resource ที่ได้จากการ query ส่วน parameter ตัวที่ 2 จะต้องกำหนดแถวที่ต้องการดึงมา และ parameter ตัวที่ 3 จะต้องกำหนด field ที่ต้องการดึง โดยอาจจะกำหนดเป็น associative ก็ได้
ผู้สนับสนุน