สำหรับการวนลูปเพื่อให้ได้ค่ามาจากฐานข้อมูลนั้น มีรูปแบบการวนอยู่ดังนี้

mysql_fetch_array() , mysql_fetch_assoc() , mysql_fetch_row()

ซึ่งในแต่ละแบบ จะมีวิธีใช้ต่างกันที่ทำให้ใครหลายคนตายน้ำตื้นมาแล้ว

mysql_fetch_array() เมื่อ เราทำการวนลูป เราจะได้ตัวแปรอาเรย์ที่ชื่อ $row ดังตัวอย่างมาเพื่อแสดงค่า ซึ่งค่า index ใน $row นั้น จะสามารถใส่เป็นตัวเลข หรือชื่อฟิลด์ของฐานข้อมูลก็ได้ ดังนี้

while($row = mysql_fetch_array($result)){
    echo $row['num'];
}
while($row = mysql_fetch_array($result)){
    echo $row['1'];
}

mysql_fetch_assoc() ค่า index ใน $row นั้น จะสามารถใส่เป็นชื่อฟิลด์ของฐานข้อมูลได้เท่านั้น ดังนี้

while($row = mysql_fetch_array($result)){
    echo $row['num'];
}

mysql_fetch_row() ค่า index ใน $row นั้น จะสามารถใส่เป็นตัวเลขได้เท่านั้น ดังนี้

while($row = mysql_fetch_array($result)){
    echo $row['1'];
}

ระหว่างตัว mysql_fetch_assoc() , mysql_fetch_row() นั้น หากใส่ไม่สอดคล้องกัน จะทำให้ระบบไม่แสดงข้อมูลออกมา ซึ่งอาจจะเป็นปัญหาที่ไม่ควรมองข้าม หลายๆคนอาจจะนั่งหาข้อผิดพลาดทางด้าน syntax อยู่นาน แต่คิดไม่ถึงว่าจะเป็นแค่การใส่ค่า index ของอาเรย์ให้ถูกเท่านั้น

Comments