Tìm nạp mảng trong php là gì?

MySQL không có chức năng Fetch Array. mysql_fetch_array thực chất là một hàm PHP cho phép bạn truy cập dữ liệu được lưu trữ trong kết quả trả về từ một mysql_query thành công. Nếu bạn đã xem qua Hướng dẫn về MySQL của chúng tôi thì bạn đã thấy chức năng này xuất hiện ở khắp mọi nơi

Bài học này sẽ hướng dẫn bạn cách thức và lý do sử dụng mysql_fetch_array trong Tập lệnh PHP của bạn

Bạn có biết những gì được trả về khi bạn sử dụng hàm mysql_query để truy vấn cơ sở dữ liệu MySQL không? . Đây là một truy vấn CHỌN mẫu của một bảng mà chúng ta đã tạo trong bài học Tạo bảng MySQL

Mã PHP và MySQL

Giá trị mà mysql_query trả về và lưu trữ vào $result là một loại dữ liệu đặc biệt, đó là Tài nguyên MySQL. Các chức năng PHP bổ sung được yêu cầu để trích xuất dữ liệu từ Tài nguyên này

Hàm mysql_fetch_array lấy tài nguyên truy vấn MySQL làm đối số [$result] và trả về hàng dữ liệu đầu tiên được trả về bởi mysql_query. Ví dụ bảng của chúng tôi về cơ bản trông giống như bảng dưới đây

bảng MySQL ví dụ

tênTimmy Mellowman23Sandy Smith21Bobby Wallace15

Hàng dữ liệu đầu tiên trong bảng này là "Timmy Mellowman" và "23". Khi chúng tôi tìm nạp một mảng từ MySQL Resource $result của chúng tôi, nó sẽ có tên và tuổi của Timmy trong đó

mysql_fetch_array trả về hàng đầu tiên trong Tài nguyên MySQL dưới dạng một mảng kết hợp. Các cột của Kết quả MySQL có thể được truy cập bằng cách sử dụng tên cột của bảng. Trong ví dụ về bảng của chúng tôi, đây là. tên và tuổi. Đây là mã để in ra hàng Kết quả MySQL đầu tiên

Mã PHP và MySQL

Trưng bày

Đây chỉ là những gì chúng tôi mong đợi sẽ xảy ra. Bây giờ, điều thú vị về mysql_fetch_array là bạn có thể sử dụng lại nó trên cùng một Tài nguyên MySQL để trả về các hàng thứ hai, thứ ba, thứ tư, v.v. Bạn có thể tiếp tục thực hiện việc này cho đến khi hết Tài nguyên MySQL [có thể gấp ba lần trong ví dụ của chúng tôi]

Âm thanh như một nhiệm vụ lặp đi lặp lại khủng khiếp. Sẽ thật tuyệt nếu chúng ta có thể nhận được tất cả kết quả của mình từ Tài nguyên MySQL trong một tập lệnh dễ thực hiện

Như chúng ta đã nói, hàm mysql_fetch_array trả về một mảng kết hợp, nhưng nó cũng trả về FALSE nếu không còn hàng nào để trả về. Sử dụng PHP While Loop, chúng ta có thể sử dụng thông tin này để làm lợi thế cho mình

Nếu chúng ta đặt câu lệnh "$row = mysql_fetch_array[]" làm câu lệnh điều kiện của vòng lặp while, chúng ta sẽ đạt được hai điều

  1. Chúng tôi sẽ nhận được một hàng thông tin MySQL mới mà chúng tôi có thể in ra mỗi khi vòng lặp kiểm tra câu lệnh điều kiện của nó
  2. Khi không còn dòng nào, hàm sẽ trả về FALSE khiến vòng lặp while dừng lại

Bây giờ chúng ta đã biết những gì chúng ta cần làm và cách thực hiện nó, phần lớn mã tự viết, vì vậy hãy chuyển sang bài học tiếp theo. Đùa thôi. Đây là mã sẽ in ra tất cả các hàng trong Tài nguyên MySQL của chúng tôi

Mã PHP và MySQL

echo $row['name']. " - ". $row['age'];
	echo "
"; } ?>

Trưng bày

Timmy Mellowman - 23
Sandy Smith - 21
Bobby Wallace-15

Và ở đó chúng tôi có tất cả các hàng từ bảng ví dụ của chúng tôi. Bạn có thể áp dụng tập lệnh này cho bất kỳ bảng MySQL nào miễn là bạn thay đổi cả tên bảng trong truy vấn và tên cột mà chúng tôi có trong mảng kết hợp

Nếu bạn muốn tải xuống bản PDF của hướng dẫn này, hãy xem Sách điện tử MySQL của chúng tôi từ Tizag. cửa hàng com. Bạn cũng có thể quan tâm đến việc nhận Sách điện tử PHP

Hàm mysqli_fetch_array[] được sử dụng để tìm nạp các hàng từ cơ sở dữ liệu và lưu trữ chúng dưới dạng một mảng. Mảng có thể được tìm nạp dưới dạng mảng kết hợp, dưới dạng mảng số hoặc cả hai

Mảng kết hợp là mảng trong đó các chỉ mục là tên của các cột riêng lẻ của bảng. Mặt khác, mảng số là mảng trong đó chỉ mục là số, với 0 đại diện cho cột đầu tiên và n-1 đại diện cho cột cuối cùng của bảng n cột

cú pháp

mysqli_fetch_array ["database_name", "mode"]

Thông số. Hàm này chấp nhận hai tham số như đã đề cập ở trên và được mô tả bên dưới

  • tên cơ sở dữ liệu. Nó là cơ sở dữ liệu mà các hoạt động đang được thực hiện. Nó là một tham số bắt buộc
  • chế độ. Nó có thể có ba giá trị – MYSQLI_ASSOC, MYSQLI_NUM và MYSQLI_BOTH. MYSQLI_ASSOC làm cho hàm hoạt động giống như hàm mysqli_fetch_assoc[], tìm nạp một mảng kết hợp, MYSQLI_NUM làm cho hàm hoạt động giống như hàm mysqli_fetch_row[], tìm nạp một mảng số trong khi MYSQLI_BOTH lưu trữ dữ liệu được tìm nạp trong một mảng có thể được truy cập bằng cả hai chỉ mục cột

Chương trình




Chủ Đề