Làm cách nào để tìm nạp mảng trong MySQL?
mysqli_fetch_array() trả về các hàng từ số bản ghi có sẵn trong cơ sở dữ liệu dưới dạng mảng kết hợp hoặc mảng số. Tại một thời điểm, nó chỉ trả về hàng đầu tiên dưới dạng mảng kết hợp hoặc mảng số. nếu chúng ta muốn lấy tất cả các bản ghi của bảng thì chúng ta phải đặt hàm này bên trong vòng lặp while. cú pháp Show Hiển thị các bản ghi bằng mysqli_fetch_array()[email protected]'"; $result = mysqli_query($con,$sql); print_r(mysqli_fetch_array($result)); mysqli_close($con); ?> đầu ra. Array( [0] =>1 [emp_id] => [1] => devesh [Name] => devesh [2] => [email protected] [email] =>[email protected] [3] => 9910099100 [mobile] => 9910099100 ) Trong ví dụ trên, kết nối đầu tiên với cơ sở dữ liệu được tạo sau đó, kết quả do mysqli_query() cung cấp được chuyển đến mysqli_fetch_array() và mảng trả về được lưu trữ trong biến 'r' và nó được đưa vào vòng lặp while để tìm nạp tất cả các bản ghi. sau đó dữ liệu được hiển thị ở dạng bảng Dữ liệu có thể được tìm nạp từ các bảng MySQL bằng cách thực thi câu lệnh SQL SELECT thông qua hàm mysql_query của PHP. Bạn có một số tùy chọn để lấy dữ liệu từ MySQL Tùy chọn được sử dụng thường xuyên nhất là sử dụng hàm mysql_fetch_array(). Hàm này trả về hàng dưới dạng một mảng kết hợp, một mảng số hoặc cả hai. Hàm này trả về FALSE nếu không còn hàng nào Dưới đây là một ví dụ đơn giản để tìm nạp các bản ghi từ bảng nhân viên Thí dụHãy thử ví dụ sau để hiển thị tất cả các bản ghi từ bảng nhân viên ". "EMP NAME : {$row['emp_name']} Nội dung của các hàng được gán cho biến $row và các giá trị trong hàng sau đó được in ra LƯU Ý – Luôn nhớ đặt dấu ngoặc nhọn khi bạn muốn chèn trực tiếp giá trị mảng vào chuỗi Trong ví dụ trên, hằng số MYSQL_ASSOC được sử dụng làm đối số thứ hai cho mysql_fetch_array(), để nó trả về hàng dưới dạng một mảng kết hợp. Với một mảng kết hợp, bạn có thể truy cập trường bằng cách sử dụng tên của chúng thay vì sử dụng chỉ mục PHP cung cấp một hàm khác gọi là mysql_fetch_assoc() cũng trả về hàng dưới dạng một mảng kết hợp Thí dụHãy thử ví dụ sau để hiển thị tất cả các bản ghi từ bảng nhân viên bằng hàm mysql_fetch_assoc() ". "EMP NAME : {$row['emp_name']} Bạn cũng có thể sử dụng hằng số MYSQL_NUM, làm đối số thứ hai cho mysql_fetch_array(). Điều này sẽ khiến hàm trả về một mảng có chỉ số là số Thí dụHãy thử ví dụ sau để hiển thị tất cả các bản ghi từ bảng employee sử dụng đối số MYSQL_NUM ". "EMP NAME : {$row[1]} Tất cả ba ví dụ trên sẽ tạo ra cùng một kết quả Giải phóng bộ nhớMột cách thực hành tốt là giải phóng bộ nhớ con trỏ ở cuối mỗi câu lệnh CHỌN. Điều này có thể được thực hiện bằng cách sử dụng hàm mysql_free_result() trong PHP. Dưới đây là ví dụ để cho thấy nó phải được sử dụng như thế nào Thí dụHãy thử ví dụ sau ". "EMP NAME : {$row[1]} Trong khi tìm nạp dữ liệu, bạn có thể viết SQL phức tạp như bạn muốn. Thủ tục sẽ vẫn giống như đã đề cập ở trên Hàm mysql_fetch_array() trả về một hàng từ tập bản ghi dưới dạng một mảng kết hợp và/hoặc một mảng số Hàm này lấy một hàng từ hàm mysql_query() và trả về một mảng nếu thành công, hoặc FALSE nếu thất bại hoặc khi không còn hàng nào nữa cú phápmysql_fetch_array(data,array_type) Tham sốDữ liệu mô tảBắt buộc. Chỉ định con trỏ dữ liệu nào sẽ sử dụng. Con trỏ dữ liệu là kết quả từ mysql_query() functionarray_typeOptional. Chỉ định loại mảng nào sẽ trả về Những giá trị khả thi
Mẹo và Ghi chúGhi chú. Sau khi dữ liệu được lấy ra, chức năng này di chuyển đến hàng tiếp theo trong tập bản ghi. Mỗi lệnh gọi tiếp theo tới mysql_fetch_array() sẽ trả về hàng tiếp theo trong tập bản ghi Mẹo. Tên trường được hàm này trả về phân biệt chữ hoa chữ thường Thí dụ$db_selected = mysql_select_db("test_db",$con); $sql = "SELECT * from Person WHERE Lastname='Refsnes'"; $result = mysql_query($sql,$con); print_r(mysql_fetch_array($result));mysql_close($con); ?> |