Hướng dẫn what does mysqli_fetch_assoc return - mysqli_fetch_assoc trả về cái gì

Hàm mysqli_fetch_assoc() sẽ tìm và trả về một dòng kết quả của một truy vấn MySQL nào đó dưới dạng một mảng kết hợp.

Cú pháp

Cú pháp: mysqli_fetch_assoc( $result);mysqli_fetch_assoc( $result);

Trong đó::

  • $result là kết quả của truy vấn, là kết quả trả về của các hàm: mysqli_query(), mysqli_store_result() hoặc mysqli_use_result().

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 mysqli_fetch_assoc():

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.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.đ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]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]

Hướng dẫn tạo Form đăng ký thêm thành viên vào Database: https://quachquynh.com/form-dang-ky-php/

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]: 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.

❮ Php mysqli tham khảo

Ví dụ - Phong cách định hướng đối tượng

Tìm nạp một hàng kết quả như một mảng kết hợp:

$mysqli = new mysqli("localhost","my_user","my_password","my_db");

$ sql = "Chọn tên cuối cùng, tuổi từ người đặt hàng theo tên cuối cùng"; $ result = mysqli_query ($ con, $ sql);
  echo "Failed to connect to MySQL: " . $mysqli -> connect_error;
  exit();
}

// mảng liên kết $ row = mysqli_fetch_assoc ($ result); printf ("%s (%s) \ n", $ row ["lastName"], $ row ["tuổi"]);
$result = $mysqli -> query($sql);

// Kết quả miễn phí setMysqli_free_result ($ result);
$row = $result -> fetch_assoc();
printf ("%s (%s)\n", $row["Lastname"], $row["Age"]);

mysqli_close ($ con); ?>
$result -> free_result();

❮ Php mysqli tham khảo
?>


Ví dụ - Phong cách định hướng đối tượng


if ($ mysqli -> connect_errno) {& nbsp; Echo "Không thể kết nối với MySQL:". $ mysqli -> Connect_error; & nbsp; lối ra(); }

$ sql = "Chọn tên cuối cùng, tuổi từ người đặt hàng theo tên cuối cùng"; $ result = $ mysqli -> truy vấn ($ sql);

// mảng liên kết $ row = $ result -> fetch_assoc (); printf ("%s (%s) \ n", $ row ["lastName"], $ row ["tuổi"]); Fieldnames returned from this function are case-sensitive.


// Đặt kết quả miễn phí $ result -> free_result ();

$ mysqli -> đóng ();?>

Nhìn vào ví dụ về phong cách thủ tục ở phía dưới.

Định nghĩa và cách sử dụng

Hàm fetch_assoc () / mysqli_fetch_assoc () có được một hàng kết quả như một mảng kết hợp.

Lưu ý: Tên trường được trả về từ chức năng này là nhạy cảm trường hợp.

Cú phápPhong cách định hướng đối tượng:
$ mysqli_result -> fetch_assoc ()Phong cách thủ tục:

mysqli_fetch_assoc (result)

Giá trị tham sốTham số
Phiên bản PHP:5+

Ví dụ - Phong cách thủ tục

Tìm nạp một hàng kết quả như một mảng kết hợp:

$con = mysqli_connect("localhost","my_user","my_password","my_db");
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  exit();
}

$ sql = "Chọn tên cuối cùng, tuổi từ người đặt hàng theo tên cuối cùng"; $ result = mysqli_query ($ con, $ sql);
$result = mysqli_query($con, $sql);

// mảng liên kết $ row = mysqli_fetch_assoc ($ result); printf ("%s (%s) \ n", $ row ["lastName"], $ row ["tuổi"]);
$row = mysqli_fetch_assoc($result);
printf ("%s (%s)\n", $row["Lastname"], $row["Age"]);

// Kết quả miễn phí setMysqli_free_result ($ result);
mysqli_free_result($result);

mysqli_close ($ con); ?>
?>



❮ Php mysqli tham khảo