Việc sử dụng hàm fetch_assoc() trong php là gì?

mysqli_result. Hàm fetch_assoc[] / mysqli_fetch_assoc[] được sử dụng để tìm nạp hàng tiếp theo của tập kết quả dưới dạng một mảng kết hợp. Mỗi lần gọi hàm này tiếp theo sẽ trả về hàng tiếp theo trong tập kết quả hoặc null nếu không còn hàng nào nữa

Nếu hai hoặc nhiều cột của kết quả có cùng tên, thì cột cuối cùng sẽ được ưu tiên và ghi đè mọi dữ liệu trước đó. Để truy cập nhiều cột có cùng tên, mysqli_fetch_row[] có thể được sử dụng để tìm nạp mảng được lập chỉ mục bằng số hoặc có thể sử dụng bí danh trong danh sách chọn truy vấn SQL để đặt cho các cột các tên khác nhau

cú pháp

//Object-oriented style
public mysqli_result::fetch_assoc[]

//Procedural style
mysqli_fetch_assoc[result]


Thông số


Giá trị trả về

Trả về một mảng kết hợp đại diện cho hàng đã tìm nạp, trong đó mỗi khóa trong mảng đại diện cho tên của một trong các cột của tập hợp kết quả, trả về giá trị rỗng nếu không có thêm hàng nào trong tập hợp kết quả hoặc sai nếu không thành công

Thí dụ. Phong cách hướng đối tượng

Ví dụ dưới đây cho thấy việc sử dụng mysqli_result. phương thức tìm nạp_assoc[]

connect_errno] {
  echo "Failed to connect to MySQL: ". $mysqli->connect_error;
  exit[];
}

//getting query result from the database
$sql = "SELECT Name, Age FROM Employee ORDER BY Age";
$result = $mysqli->query[$sql];

//fetching associative array
while [$row = $result->fetch_assoc[]] {
  printf["%s, %d\n", $row["Name"], $row["Age"]];
}

//free result set
$result->free_result[];

//closing the connection
$mysqli->close[];
?>

Đầu ra của mã trên sẽ tương tự như

Marry, 23
Kim, 26
John, 27
Adam, 28


Thí dụ. phong cách thủ tục

Ví dụ dưới đây cho thấy cách sử dụng hàm mysqli_fetch_assoc[]

Đầu ra của mã trên sẽ tương tự như

Marry, 23
Kim, 26
John, 27
Adam, 28


Thí dụ. so sánh trình lặp mysqli_result và mysqli_result. cách sử dụng fetch_assoc[]

mysqli_result có thể được lặp lại bằng vòng lặp foreach. Tập kết quả sẽ luôn được lặp lại từ hàng đầu tiên, bất kể vị trí hiện tại

________số 8_______

/* check connection */
if [mysqli_connect_errno[]] {
    printf["Connect failed: %s\n", mysqli_connect_error[]];
    exit[];
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";

if [$result = mysqli_query[$link, $query]] {

    /* fetch associative array */
    while [$row = mysqli_fetch_assoc[$result]] {
        printf ["%s [%s]\n", $row["Name"], $row["CountryCode"]];
    }

    /* free result set */
    mysqli_free_result[$result];
}

/* close connection */
mysqli_close[$link];
?>

Cả hai hàm đều được sử dụng để tìm nạp hàng tiếp theo của tập kết quả dưới dạng một mảng kết hợp. Sự khác biệt duy nhất là, fetch_assoc[] được sử dụng với tập lệnh hướng đối tượng PHP MySQLi, trong khi mysqli_fetch_assoc[] được sử dụng với tập lệnh thủ tục PHP MySQLi

Hàm PHP fetch_assoc[] tìm nạp hàng tiếp theo của tập kết quả dưới dạng một mảng kết hợp, theo kiểu hướng đối tượng PHP MySQLi. Ví dụ

 connect_errno]
   {
      echo "Database connection failed!
"; echo "Reason: ", $conn -> connect_error; exit[]; } $sql = "SELECT * FROM customer"; $result = $conn -> query[$sql]; if[$result == true] { while[$row = $result -> fetch_assoc[]] { echo "Name: ", $row['name']; echo "
"; echo "Age: ", $row['age']; echo ""; } $result -> free_result[]; } else { echo "Something went wrong!
"; echo "Error Description: ", $conn -> error; } $conn -> close[]; ?>

Đầu ra được tạo bởi ví dụ PHP ở trên trên hàm fetch_assoc[], được hiển thị trong ảnh chụp nhanh bên dưới

Lưu ý - mysqli[] được sử dụng để mở kết nối đến máy chủ cơ sở dữ liệu MySQL, theo kiểu hướng đối tượng

Lưu ý - Từ khóa new được sử dụng để tạo một đối tượng mới

Lưu ý - connect_errno được sử dụng để lấy/trả lại mã lỗi [nếu có] từ lệnh gọi kết nối cuối cùng, theo kiểu hướng đối tượng

Lưu ý - Connect_error được sử dụng để lấy mô tả lỗi [nếu có] từ lần kết nối cuối cùng, theo kiểu hướng đối tượng

Lưu ý - Câu truy vấn[] được sử dụng để thực hiện truy vấn trên cơ sở dữ liệu MySQL, theo kiểu hướng đối tượng

Lưu ý - Free_result[] được sử dụng để giải phóng kết quả được lưu trữ, theo kiểu hướng đối tượng

Lưu ý - Lỗi được sử dụng để trả về mô tả lỗi [nếu có], bởi lệnh gọi hàm gần đây nhất, theo kiểu hướng đối tượng

Lưu ý - Hàm close[] được sử dụng để đóng một kết nối đã mở, theo kiểu hướng đối tượng

Lưu ý - Nếu bạn muốn tìm nạp và hiển thị dữ liệu bằng số cột, hãy sử dụng hàm fetch_row[] [hướng đối tượng] hoặc mysqli_fetch_row[] [thủ tục]

Ví dụ trên, cũng có thể được viết là

 connect_errno]
   {
      if[$result = $conn -> query["SELECT * FROM customer"]]
      {
         while[$row = $result -> fetch_assoc[]]
         {
            echo "Name: ", $row['name'];
            echo "
"; echo "Age: ", $row['age']; echo ""; } } } $conn -> close[]; ?>

Cú pháp PHP fetch_assoc[]

Cú pháp của hàm fetch_assoc[] trong PHP là

PHP mysqli_fetch_assoc[]

Hàm PHP mysqli_fetch_assoc[] tìm nạp hàng tiếp theo của tập kết quả dưới dạng một mảng kết hợp, theo kiểu thủ tục PHP MySQLi. Ví dụ

";
            echo "Age: ", $row['age'];
            echo "";
         }
      }
   }
   mysqli_close[$conn];
?>

Lưu ý - mysqli_connect[] được sử dụng để mở kết nối đến máy chủ cơ sở dữ liệu MySQL, theo kiểu thủ tục

Lưu ý - mysqli_connect_errno[] được sử dụng để nhận/trả lại mã lỗi [nếu có] từ lệnh gọi kết nối cuối cùng, theo kiểu thủ tục

Lưu ý - mysqli_query[] được sử dụng để thực hiện truy vấn trên cơ sở dữ liệu MySQL, theo kiểu thủ tục

Lưu ý - mysqli_close[] được sử dụng để đóng kết nối đã mở với cơ sở dữ liệu MySQL, theo kiểu thủ tục

Sự khác biệt giữa Fetch_assoc và Fetch_array là gì?

Trong trường hợp fetch_assoc[] sẽ trả về mảng khóa được lập chỉ mục chuỗi và không có mảng số nên bạn sẽ không có tùy chọn sử dụng số ở đây . Vì vậy, cái sau có hiệu suất tốt hơn so với fetch_array[] và rõ ràng là sử dụng các chỉ mục được đặt tên sẽ tốt hơn nhiều so với các chỉ mục số.

Hàm mysqli_fetch_assoc trong PHP là gì?

Hàm mysqli_fetch_assoc[] được dùng để trả về một mảng kết hợp đại diện cho hàng tiếp theo trong tập hợp kết quả cho kết quả được đại diện bởi tham số kết quả, where each key in the array represents the name of one of the result set's columns.

Làm cách nào để tìm nạp tất cả các hàng trong PHP?

Hàm fetch_all[] / mysqli_fetch_all[] tìm nạp tất cả các hàng kết quả và trả về tập kết quả dưới dạng một mảng kết hợp, một mảng số .

Làm cách nào để tìm nạp mảng trong PHP?

Hàm fetch_array[] / mysqli_fetch_array[] tìm nạp một hàng kết quả dưới dạng một mảng kết hợp, một mảng số hoặc cả hai. Ghi chú. Tên trường được trả về từ hàm này phân biệt chữ hoa chữ thường.

Chủ Đề