Truy xuất dữ liệu trong php là gì?

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']} 
". "EMP SALARY : {$row['emp_salary']}
". "--------------------------------
"; } echo "Fetched data successfully\n"; mysql_close[$conn]; ?>

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']} 
". "EMP SALARY : {$row['emp_salary']}
". "--------------------------------
"; } echo "Fetched data successfully\n"; mysql_close[$conn]; ?>

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]} 
". "EMP SALARY : {$row[2]}
". "--------------------------------
"; } echo "Fetched data successfully\n"; mysql_close[$conn]; ?>

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]} 
". "EMP SALARY : {$row[2]}
". "--------------------------------
"; } mysql_free_result[$retval]; echo "Fetched data successfully\n"; mysql_close[$conn]; ?>

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

Trong chương trước, chúng ta đã thiết lập kết nối đến cơ sở dữ liệu MySQL của bạn, vì vậy bây giờ là lúc để làm điều gì đó thú vị với kết nối. Như đã đề cập trong phần giới thiệu, chúng tôi tương tác với máy chủ MySQL bằng cách gửi mã SQL thông qua hàm PHP, cụ thể hơn là hàm mysql_query[]

Để truy xuất dữ liệu thông qua SQL, câu lệnh SELECT được sử dụng. Nó có nhiều biến thể, nhưng ở dạng đơn giản nhất, nó thường trông như thế này

CHỌN tên_cột TỪ_tên_bảng

Truy vấn này sẽ chọn dữ liệu từ cột có tên "column_name" trong bảng có tên "table_name" và trả về tất cả các hàng của nó. Trong chương giới thiệu, chúng tôi đã chèn một số hàng dữ liệu vào bảng test_users, nơi chúng tôi có các cột id, tên và quốc gia. Để có được dữ liệu này, truy vấn của chúng tôi có thể trông như thế này

CHỌN id, tên, quốc gia TỪ test_users

Đó là SQL cần thiết để truy xuất dữ liệu của chúng tôi. Hãy làm cho PHP thực thi nó cho chúng ta, bằng cách sử dụng hàm mysql_query[]

mysql_connect["localhost", "username", "password"];
mysql_select_db["my_database"];
$query = mysql_query["SELECT id, name, country FROM test_users"];

Hàm mysql_query[] chỉ cần gửi mã SQL đến máy chủ MySQL và sau đó trả về một liên kết đến kết quả. Sau đó, chúng tôi sẽ phải sử dụng một trong nhiều hàm PHP có liên quan để thực sự sử dụng kết quả. Chẳng hạn, chúng ta có thể xem có bao nhiêu hàng được trả về bằng cách sử dụng hàm mysql_num_rows[] [kết nối đã được thực hiện, như minh họa ở trên]

$query = mysql_query["SELECT id, name, country FROM test_users"];
echo "The table currently contains " . mysql_num_rows[$query] . " row[s]";

Tất nhiên, nếu chúng ta chỉ muốn số lượng hàng, sẽ có nhiều cách hiệu quả hơn và sẽ không có lý do gì để chọn cả ba hàng. Thay vì chỉ lấy số lượng hàng, hãy thử thực sự lấy một số dữ liệu

$query = mysql_query["SELECT id, name, country FROM test_users"];
echo "The first name is: " . mysql_result[$query, 0, "name"];

mysql_result[] có thể chọn ra một phần dữ liệu từ liên kết kết quả. Là tham số, chúng tôi chỉ định liên kết truy vấn, chỉ mục hàng và tên của cột mà chúng tôi muốn dữ liệu, vì vậy trong trường hợp này, chúng tôi nhận được kết quả từ tham chiếu kết quả truy vấn $, chúng tôi sử dụng hàng đầu tiên được trả về [số hàng 0] . Điều đó sẽ cho chúng tôi tên đầu tiên trong bảng, sau đó được xuất ra

Trong hầu hết các trường hợp, bạn có thể cần tất cả các hàng dữ liệu mà bạn chọn, cùng với tất cả các cột bạn chọn. Điều này thường được thực hiện với hàm mysql_fetch_array[], hàm này chỉ đơn giản là cung cấp cho bạn toàn bộ hàng dữ liệu dưới dạng một mảng, đồng thời di chuyển con trỏ bên trong lên trước một bước, để hàm sẽ đưa bạn đến hàng đó sau đó vào lần gọi tiếp theo. Điều này làm cho nó tuyệt vời để sử dụng với một vòng lặp, để lần lượt lấy tất cả các hàng. Hãy xem một ví dụ mà chúng ta làm điều đó

$query = mysql_query["SELECT id, name, country FROM test_users"];
while[$row = mysql_fetch_array[$query]]
    echo $row["name"] . " is from " . $row["country"] . "
";

Chúng tôi sử dụng vòng lặp while, trong đó chúng tôi gán kết quả của hàm mysql_fetch_array[] cho biến có tên $row trên mỗi lần lặp. Điều này hoạt động vì mysql_fetch_array[] sẽ trả về FALSE khi không còn hàng nào nữa, trong trường hợp đó, vòng lặp while sẽ kết thúc. Miễn là trên thực tế vẫn còn một hàng, mysql_fetch_array[] đặt tất cả các cột và giá trị của chúng vào biến $row, nơi chúng ta có thể truy cập nó từ đó đơn giản bằng cách yêu cầu cùng tên được sử dụng trong mã SQL. Trong ví dụ của chúng tôi, điều đó cho phép chúng tôi truy cập vào id, tên và quốc gia, nhưng để cho nó bớt phức tạp hơn, tôi chỉ sử dụng tên và quốc gia cho đến nay

Vì vậy, đó là những cách cơ bản nhất để lấy dữ liệu ra khỏi cơ sở dữ liệu. Như bạn có thể thấy, nó khá dễ dàng, vì PHP có rất nhiều chức năng hay để làm việc đó, nhưng còn nhiều điều hơn nữa để làm việc với MySQL và chắc chắn còn nhiều điều hơn nữa để viết SQL. Đọc để tìm hiểu thêm về cả hai

Làm cách nào để lấy dữ liệu từ php?

Có hai cách để kết nối với cơ sở dữ liệu bằng PHP. .
Hướng đối tượng MySQLi $conn->query[$query];
MySQLi Thủ tục mysqli_query[$conn, $query]
PDO. $stmt = $conn->prepare[$query];

Truy xuất dữ liệu trong MySQL là gì?

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.

Tìm nạp dữ liệu trong php là gì?

Tìm nạp dữ liệu từ tập hợp kết quả bằng cách gọi một trong các phương thức tìm nạp sau. Để trả về một hàng từ tập kết quả dưới dạng một mảng hoặc đối tượng, hãy gọi PDOStatement. phương thức tìm nạp . Để trả về tất cả các hàng từ tập kết quả dưới dạng một mảng các mảng hoặc đối tượng, hãy gọi PDOStatement. phương pháp tìm nạp tất cả.

Làm thế nào chúng ta có thể lấy dữ liệu từ cơ sở dữ liệu?

CHỌN câu lệnh . Cú pháp là. CHỌN cột1, cột2 TỪ bảng1, bảng2 Ở ĐÂU cột2='giá trị';

Chủ Đề