PHP การใช้ PDO FETCH แบบต่าง ๆ

| ไอที | PHP | 5386

PHP การใช้ PDO FETCH แบบต่าง ๆ

บทความนี้เรามาดูการใช้ FETCH แบบต่าง ๆ ใน PDO กันครับ ซึ่งการ FETCH ข้อมูลแบบต่าง ๆ ก็มีการใช้งานที่ต่างกัน รูปแบบการเขียนที่ต่างกัน และมีอะไรบ้างเรามาดูกันครับ

Database ที่เราจะใช้เป็น MySQL มีชื่อตารางว่า doe_category ซึ่งมีข้อมูลดังนี้

PHP การใช้ PDO FETCH แบบต่าง ๆ

PDO::FETCH_ASSOC

PDO::FETCH_ASSOC: จะรีเทิร์นเป็น array indexed ของชื่อคอลัมน์
	$result = $PDO->query("select * from doe_category limit 0,5 ");

	echo "

"; while($fetchResult = $result->fetch(PDO::FETCH_ASSOC)){ print_r($fetchResult); echo "
"; } echo "

";
ผลที่ได้จะเป็นแบบนี้

Array ( [categorygen] => 1 [category_name] => เบ็ตเตล็ดทั่วไป [category_code] => 9999 [category_order] => 1 )
Array ( [categorygen] => 2 [category_name] => สังคมศาสตร์ [category_code] => 9999 [category_order] => 2 )
Array ( [categorygen] => 3 [category_name] => วิทยาศาสตร์ [category_code] => 9999 [category_order] => 3 )
Array ( [categorygen] => 4 [category_name] => วิทยาศาสตร์ประยุกต์ [category_code] => 9999 [category_order] => 4 )
Array ( [categorygen] => 5 [category_name] => ศิลปและการบันเทิง [category_code] => 9999 [category_order] => 5 )


PDO::FETCH_BOTH

PDO::FETCH_BOTH: จะรีเทิร์นเป็น array indexed ของชื่อคอลัมน์ และเป็น index ของ Array
	$result = $PDO->query("select * from doe_category limit 0,5 ");

	echo "

"; while($fetchResult = $result->fetch(PDO::FETCH_BOTH)){ print_r($fetchResult); echo "
"; } echo "

";
ผลลัพธ์ที่ได้จะเป็นแบบนี้

Array ( [categorygen] => 1 [0] => 1 [category_name] => เบ็ตเตล็ดทั่วไป [1] => เบ็ตเตล็ดทั่วไป [category_code] => 9999 [2] => 9999 [category_order] => 1 [3] => 1 )
Array ( [categorygen] => 2 [0] => 2 [category_name] => สังคมศาสตร์ [1] => สังคมศาสตร์ [category_code] => 9999 [2] => 9999 [category_order] => 2 [3] => 2 )
Array ( [categorygen] => 3 [0] => 3 [category_name] => วิทยาศาสตร์ [1] => วิทยาศาสตร์ [category_code] => 9999 [2] => 9999 [category_order] => 3 [3] => 3 )
Array ( [categorygen] => 4 [0] => 4 [category_name] => วิทยาศาสตร์ประยุกต์ [1] => วิทยาศาสตร์ประยุกต์ [category_code] => 9999 [2] => 9999 [category_order] => 4 [3] => 4 )
Array ( [categorygen] => 5 [0] => 5 [category_name] => ศิลปและการบันเทิง [1] => ศิลปและการบันเทิง [category_code] => 9999 [2] => 9999 [category_order] => 5 [3] => 5 )


PDO::FETCH_LAZY

	$result = $PDO->query("select * from doe_category limit 0,5 ");

	echo "

"; while($fetchResult = $result->fetch(PDO::FETCH_LAZY)){ print_r($fetchResult); echo "
"; } echo "

";
ผลลัพธ์ที่ได้จะเป็นแบบนี้

PDORow Object ( [queryString] => select * from doe_category limit 0,5 [categorygen] => 1 [category_name] => เบ็ตเตล็ดทั่วไป [category_code] => 9999 [category_order] => 1 )
PDORow Object ( [queryString] => select * from doe_category limit 0,5 [categorygen] => 2 [category_name] => สังคมศาสตร์ [category_code] => 9999 [category_order] => 2 )
PDORow Object ( [queryString] => select * from doe_category limit 0,5 [categorygen] => 3 [category_name] => วิทยาศาสตร์ [category_code] => 9999 [category_order] => 3 )
PDORow Object ( [queryString] => select * from doe_category limit 0,5 [categorygen] => 4 [category_name] => วิทยาศาสตร์ประยุกต์ [category_code] => 9999 [category_order] => 4 )
PDORow Object ( [queryString] => select * from doe_category limit 0,5 [categorygen] => 5 [category_name] => ศิลปและการบันเทิง [category_code] => 9999 [category_order] => 5 )


PDO::FETCH_NAMED

	$result = $PDO->query("select * from doe_category limit 0,5 ");

	echo "

"; while($fetchResult = $result->fetch(PDO::FETCH_NAMED)){ print_r($fetchResult); echo "
"; } echo "

";
ผลลัพธ์ที่ได้จะเป็นแบบนี้

Array ( [categorygen] => 1 [category_name] => เบ็ตเตล็ดทั่วไป [category_code] => 9999 [category_order] => 1 )
Array ( [categorygen] => 2 [category_name] => สังคมศาสตร์ [category_code] => 9999 [category_order] => 2 )
Array ( [categorygen] => 3 [category_name] => วิทยาศาสตร์ [category_code] => 9999 [category_order] => 3 )
Array ( [categorygen] => 4 [category_name] => วิทยาศาสตร์ประยุกต์ [category_code] => 9999 [category_order] => 4 )
Array ( [categorygen] => 5 [category_name] => ศิลปและการบันเทิง [category_code] => 9999 [category_order] => 5 )


PDO::FETCH_NUM

	$result = $PDO->query("select * from doe_category limit 0,5 ");

	echo "

"; while($fetchResult = $result->fetch(PDO::FETCH_NUM)){ print_r($fetchResult); echo "
"; } echo "

";
ผลลัพธ์ที่ได้จะเป็นแบบนี้

Array ( [0] => 1 [1] => เบ็ตเตล็ดทั่วไป [2] => 9999 [3] => 1 )
Array ( [0] => 2 [1] => สังคมศาสตร์ [2] => 9999 [3] => 2 )
Array ( [0] => 3 [1] => วิทยาศาสตร์ [2] => 9999 [3] => 3 )
Array ( [0] => 4 [1] => วิทยาศาสตร์ประยุกต์ [2] => 9999 [3] => 4 )
Array ( [0] => 5 [1] => ศิลปและการบันเทิง [2] => 9999 [3] => 5 )

PDO::FETCH_OBJ

	$result = $PDO->query("select * from doe_category limit 0,5 ");

	echo "

"; while($fetchResult = $result->fetch(PDO::FETCH_OBJ)){ print_r($fetchResult); echo "
"; } echo "

";
ผลลัพธ์ที่ได้จะเป็นแบบนี้

stdClass Object ( [categorygen] => 1 [category_name] => เบ็ตเตล็ดทั่วไป [category_code] => 9999 [category_order] => 1 )
stdClass Object ( [categorygen] => 2 [category_name] => สังคมศาสตร์ [category_code] => 9999 [category_order] => 2 )
stdClass Object ( [categorygen] => 3 [category_name] => วิทยาศาสตร์ [category_code] => 9999 [category_order] => 3 )
stdClass Object ( [categorygen] => 4 [category_name] => วิทยาศาสตร์ประยุกต์ [category_code] => 9999 [category_order] => 4 )
stdClass Object ( [categorygen] => 5 [category_name] => ศิลปและการบันเทิง [category_code] => 9999 [category_order] => 5 )


comments