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