Việc sử dụng Mysqli_fetch_array() và Mysqli_fetch_row() trong PHP là gì?

Hàm Mysqli_fetch_array[] tìm nạp một hàng dữ liệu từ một tập hợp kết quả và trả về dưới dạng một mảng kết hợp hoặc mảng số. Hàm này có hai kiểu cú pháp khác nhau cho cả lập trình hướng đối tượng và lập trình thủ tục.  


Kiểu hướng đối tượng


public mysqli_result::fetch_array[int $mode = MYSQLI_BOTH]

: array|null|false


Phong cách thủ tục


mysqli_fetch_array[mysqli_result $result, int $mode = MYSQLI_BOTH]

: array|null|false


Mỗi khi hàm này được gọi trên một tập kết quả nhất định, nó sẽ trả về hàng tiếp theo dưới dạng một mảng hoặc null nếu không còn hàng nào nữa. Hàm lưu trữ dữ liệu được trích xuất trong các chỉ mục số của mảng đầu ra được trả về nhưng cũng có thể lưu trữ dữ liệu được trích xuất trong các chỉ mục kết hợp bằng cách sử dụng các giá trị trường tìm thấy làm khóa từ tập kết quả.  

Tham số cho Mysqli_Fetch_Array[]

Các tham số này khác nhau dựa trên kiểu thủ tục so với kiểu hướng đối tượng.   

Kết quả

Chức năng này chỉ tồn tại trong phong cách thủ tục. Nó là một đối tượng mysqli_result được truyền bởi các hàm mysqli khác.  

Chế độ

Đây là một tham số tùy chọn được sử dụng để truyền một biến cố định xác định loại mảng nào sẽ được trả về. Các tùy chọn không đổi là. MYSQLI_ASSOC, MYSQLI_NUM, HOẶC MYSQLI_BOTH.  


Giá trị trả về cho hàm Mysqli_Fetch_Array[]

Hàm này trả về một mảng php được tạo thành từ dữ liệu từ hàng đã tìm nạp hoặc null nếu không có thêm hàng nào để đọc từ biến tập hợp kết quả hoặc trả về false nếu không thành công.  


Ghi chú nhanh về hàm PHP Mysqli_Fetch_Array[]

Khi sử dụng hằng số MYSQLI_ASSOC cho tham số $mode, hàm này sẽ hoạt động chính xác như hàm mysqli_fetch_assoc[]. Nếu bạn sử dụng hằng số MYSQLI_NUM thì hàm này sẽ hoạt động chính xác như hàm mysqli_fetch_row[].   


Tên trường được sử dụng làm khóa trong mảng kết hợp có phân biệt chữ hoa chữ thường.  


Hàm này đặt bất kỳ trường đầu vào null nào thành null một lần nữa.  


Nếu nhiều cột từ kết quả có cùng tên chính xác thì cột cuối cùng được tìm thấy sẽ được sử dụng và sẽ ghi đè lên dữ liệu trước đó. Nếu bạn muốn truy cập nhiều cột có cùng tên chính xác, bạn nên sử dụng phiên bản số của mảng được trả về.  


Chức năng này đã được thêm vào trong phiên bản PHP 5

Các ví dụ về hàm Mysqli_Fetch_Array[] trong PHP

Hãy xem xét một số cách khác nhau mà chúng ta có thể sử dụng cả kiểu thủ tục và kiểu hướng đối tượng.  


Ví dụ về kiểu thủ tục

Ví dụ mã này đi qua nhiều bước trước và sau lệnh gọi hàm mysqli_fetch_array[] thực tế để giúp bạn hiểu rõ hơn.  



$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 = "SELECT Lastname, Hours FROM Employees ORDER BY Lastname";
$result = mysqli_query[$con,$sql];


Ở đây chúng tôi bắt đầu với một truy vấn mysql đơn giản để lấy một số dữ liệu từ một bảng. Lưu ý rằng chúng ta có thể sử dụng hàm mysqli_connect_errno[] để kiểm tra lỗi kết nối.  



// Numeric array
$row = mysqli_fetch_array[$result, MYSQLI_NUM];
printf ["%s [%s]\n", $row[0], $row[1]];


Hãy chạy hàm mảng tìm nạp của chúng ta trên dữ liệu đã đọc với hằng số chỉ ra để tạo ra một mảng số.  



// Associative array
$row = mysqli_fetch_array[$result, MYSQLI_ASSOC];
printf ["%s [%s]\n", $row["Lastname"], $row["Age"]];


Chúng ta cũng sẽ chạy hàm tương tự với cùng dữ liệu hàng hiện tại nhưng với hằng số kết hợp để so sánh các mảng hàng kết quả.  



mysqli_free_result[$result];
mysqli_close[$con];


Cuối cùng, chúng tôi sẽ giải phóng dữ liệu và đóng kết nối của chúng tôi. Các kết quả hoàn toàn giống nhau khi được in, nhưng chúng tôi truy cập hai loại mảng khác nhau theo cách khác nhau.  


Ví dụ về kiểu hướng đối tượng

Hãy xem cách hoạt động của hàm mysqli_fetch_array[] khi sử dụng lập trình hướng đối tượng cho cả mảng số và mảng kết hợp.  



mysqli_report[MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT];
$mysqli = new mysqli["localhost", "my_user", "my_password", "users"];

$query = "SELECT Name, Hours FROM Users ORDER BY ID LIMIT 2";
$result = $mysqli->query[$query];


Chúng tôi sẽ bắt đầu bằng cách truy vấn bảng cơ sở dữ liệu để lấy một số dữ liệu người dùng.  



________số 8_______


Chúng ta có thể tạo một mảng số và in nó ra như trước đây, nhưng lần này chúng ta gọi “->fetch_array” để tạo mảng. Biến hàng $result là một đối tượng kết quả mysqli.  




$row = $result->fetch_array[MYSQLI_ASSOC];
printf["%s [%s]\n", $row["Name"], $row["Hours"]];


Đây là chức năng tương tự mà chúng ta thấy ở trên nhưng với một mảng kết hợp có các khóa mà chúng ta có thể gọi trực tiếp.  



mysqli_fetch_array[mysqli_result $result, int $mode = MYSQLI_BOTH]

: array|null|false
0


Cuối cùng, chúng ta sẽ chuyển hằng số MYSQLI_BOTH để tạo một mảng có sẵn cả hai tùy chọn. Bạn có thể thấy chúng ta có thể truy cập các biến thông qua phím số và phím chuỗi. Hãy nhớ nếu chức năng này không thành công, chúng tôi trả về giá trị null php


Ví dụ về mảng số và mảng kết hợp



mysqli_fetch_array[mysqli_result $result, int $mode = MYSQLI_BOTH]

: array|null|false
1


Điều này chỉ đơn giản là in các giá trị trong mảng đã cho này cho hai khóa này.  


Ví dụ về trường hợp sử dụng cho Mysqli_Fetch_Array[]

Do chức năng này chủ yếu được sử dụng cho các hoạt động liên quan đến cơ sở dữ liệu, nhiều trường hợp sử dụng liên quan đến dữ liệu lớn và đào tạo dữ liệu lớn có thể thấy chức năng myqli_fetch_array[] hữu ích. Chức năng này là hoàn hảo để tải dữ liệu từ cơ sở dữ liệu vào trang tổng quan hoặc trang web của người dùng. Chúng tôi đã sử dụng chức năng này khi làm việc với dữ liệu phân tích cảm tính để tải một hàng đã tìm nạp vào bảng điều khiển người dùng để họ xác nhận những ví dụ này là hợp lệ. Đó là một cách hay và nhanh chóng để nhận phản hồi của người dùng về kết quả NLP, đây luôn là một phần của quy trình.  

Sự khác biệt giữa Mysqli_fetch_object[] và Mysqli_fetch_array[] là gì?

Hàm mysqli_fetch_object[] trả về các đối tượng từ cơ sở dữ liệu, trong khi hàm mysqli_fetch_array[] trả về một mảng kết quả . Điều này sẽ cho phép tên trường được sử dụng để truy cập dữ liệu.

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

Sự khác biệt giữa mysqli_fetch_assoc[] và mysqli_fetch_array[] Sự khác biệt chính giữa mysqli_fetch_assoc và mysqli_fetch_array là định dạng đầu ra của dữ liệu kết quả. mysqli_fetch_assoc trả về dữ liệu trong một mảng kết hợp và mysqli_fetch_array trả về dữ liệu trong một mảng số và/hoặc trong một mảng kết hợp

Fetch_row trong PHP là gì?

Định nghĩa và cách sử dụng. Hàm fetch_row[] / mysqli_fetch_row[] tìm nạp một hàng từ tập kết quả và trả về dưới dạng một mảng liệt kê .

Phương thức nào được sử dụng để truy xuất từng hàng ở dạng số cũng như mảng liên kết từ kết quả được tìm nạp bởi Mysqli_query[]?

Mysql_fetch_array là gì? . Hàm lấy một hàng từ hàm mysql_query[] và nó trả về một mảng nếu nó là TRUE Và khi có lỗi hoặc khi không còn hàng nào nữa thì FLASE

Chủ Đề