Hướng dẫn mysqli_fetch_assoc
Hàm Cú phápCú pháp: Trong đó:
Kết quả trả vềHàm sẽ trả về mảng kết hợp chứa thông tin của hàng kết quả. Ví dụCách sử dụng hàm Code $con=mysqli_connect("localhost","my_user","my_password","my_db"); // Check connection if (mysqli_connect_errno()){ echo "Failed to connect to MySQL: " . mysqli_connect_error(); } $sql="SELECT Lastname,Age FROM Persons ORDER BY Lastname"; $result=mysqli_query($con,$sql); // Associative array $row=mysqli_fetch_assoc($result); printf ("%s (%s)\n",$row["Lastname"],$row["Age"]); // Free result set mysqli_free_result($result); mysqli_close($con); Tham khảo: w3schools.com Trong các câu lệnh PHP có nhiều lệnh nhìn qua có cảm giác chúng giống nhau hoàn toàn. Một trong số đó là mysqli_fetch_array và mysqli_fetch_assoc. Chúng đều có chức năng fetch dữ liệu từ câu query nhưng chắc chắn rằng sẽ có sự khác biệt. Vậy sẽ khác nhau giữa mysqli_fetch_array và mysqli_fetch_assoc là gì?‘fetch’ trong tiếng Anh nghĩa là “đi tìm” vậy với câu lệnh này bạn hiểu nôm na là đi tìm dữ liệu đưa vào mảng. mysqli_fetch_array: trả về một mảng có cả khóa số và chuỗi kết hợp (tên cột) , vì vậy ở đây bạn có thể sử dụng $row[‘column_name’] hoặc $row[0]
Bạn sẽ chạy ví dụ bên dưới (Nếu trong cơ sở dữ liệu chưa có gì hãy đọc lại bài trên nhé!): alert("Kết nối thành công!");'; } else { echo "Kết nối thất bại!"; } $sql = "SELECT * FROM member"; $result = mysqli_query($link, $sql) or die(mysql_error()); while ($row = mysqli_fetch_array($result)) { print $row[0]; print "\n"; print $row[1]; print "\n"; print $row[3]; print "\n"; print $row[4]." Khi chạy bạn sẽ nhận được kết quả như sau: mysqli_fetch_assoc: sẽ trả về mảng khóa được lập chỉ mục chuỗi và không có mảng số, do đó bạn sẽ không có tùy chọn ở đây bằng cách sử dụng các phím số như thế nào $row[0] Cũng ví dụ trên bạn thay mysqli_fetch_array bằng mysqli_fetch_assoc xem có gì thay đổi không nhé! Và kết quả mình nhận được là xuất hiện lỗi. Kết luận là mysqli_fetch_assoc không thể sử dụng $row[0] để xuất dữ liệu. Tiếp theo anh em thay đoạn while ($row = mysqli_fetch_assoc($result)) { print $row[0]; print "\n"; print $row[1]; print "\n"; print $row[3]; print "\n"; print $row[4]." Bằng while ($row = mysqli_fetch_assoc($result)) { print $row['id']; print "\n"; print $row['username']; print "\n"; print $row['email']; print "\n"; print $row['phone']." Và kết quả là Kết luận: mysqli_fetch_array dùng để xuất dữ liệu gồm các tên cột còn mysqli_fetch_assoc thì không làm được điều đó. Qua bài viết này hi vọng bạn sẽ biết cách phân biệt giữa 2 cách fetch dữ liệu từ Database như thế nào rồi phải không nào. |