ใช้ mysql_fetch_assoc แทน mysql_fetch_array กันดีกว่า
1,885 viewsถ้าเวปคุณเล็กๆ คนเข้าน้อยคงไม่ต้องสนใจรายละเอียดอะไรมากนัก แต่วันนึงเวปเริ่มโต คนเริ่มเยอะ
การเปลี่ยนแปลงนิดเดียวอาจได้ผลที่น่าแปลกใจ
ปกติส่วนมากเราจะ query แบบนี้
<?php $sql = "SELECT * FROM table"; $result = mysql_query($sql); if (!$result) { echo "$sql"; die("\n Invalid query: " . mysql_error()); } while($row = mysql_fetch_array($result)) { $ConcertId= $row["ConcertId"]; $ConcertName= $row["ConcertName"]; } mysql_free_result($result); ?>
ถ้าใช้ mysql_fetch_array จะได้ array ($row) ดังนี้
Array
(
[0] => 40
[ConcertId] => 40
[1] => test1
[ConcertName] => test1
)
ส่วน mysql_fetch_assoc จะได้ array ($row) ดังนี้
Array
(
[ConcertId] => 40
[ConcertName] => test1
)
จะทำให้คุณใช้ memory น้อยลงไปอีก เพราะส่วนมากเราใช้ $row["ColumnName"] กันอยู่แล้ว
อีกอย่าง เลิก SELECT * กันเถอะ ให้ SELECT ระบุ Column ที่ต้องการดีกว่า ประหยัด memory ไปได้อีกเยอะเลย
2 Comments »
RSS feed for comments on this post. TrackBack URL
ขอบคุณครับ กำลังสงสัยอยู่เลยว่าสองตัวนี้มันต่างกันยังไง ‘w’
ปรกติผมใช้แบบนี้อ่ะครับ
$row=mysql_fetch_array($result, MYSQL_ASSOC);
ไม่ทราบว่า จะให้ผลที่ต่างกันเยอะมั้ยครับ
ปล. ไม่เคยลองกับเวบขนาดใหญ่เลยครับ..