Làm cách nào chúng tôi có thể lưu trữ và truy xuất dữ liệu từ cơ sở dữ liệu trong php?

Ví dụ sau đây chọn các cột id, firstname và lastname từ bảng MyGuests và hiển thị nó trên trang

Ví dụ (Hướng đối tượng MySQLi)

$servername = "máy chủ cục bộ";
$username = "tên người dùng";
$password = "mật khẩu";
$dbname = "myDB";

// Tạo kết nối
$conn = new mysqli($servername, $username, $password, $dbname);
// Kiểm tra kết nối
nếu ($conn->connect_error) {
die("Kết nối thất bại. ". $conn->connect_error);
}

$sql = "CHỌN id, tên, họ TỪ MyGuests";
$result = $conn->query($sql);

nếu ($result->num_rows > 0) {
// xuất dữ liệu của từng hàng
while($row = $result->fetch_assoc()) {
tiếng vang "id. ". $row["id"]. " - Tên. ". $row["firstname"]. "". $row["họ"]. "
“;
}
} khác {
echo "0 kết quả";
}
$conn->đóng();
?>

Chạy ví dụ »

Các dòng mã để giải thích từ ví dụ trên

Đầu tiên, chúng tôi thiết lập một truy vấn SQL để chọn các cột id, firstname và lastname từ bảng MyGuests. Dòng mã tiếp theo chạy truy vấn và đặt dữ liệu kết quả vào một biến có tên $result

Sau đó, hàm num_rows() kiểm tra xem có nhiều hơn 0 hàng được trả về không

Nếu có nhiều hơn 0 hàng được trả về, hàm fetch_assoc() đặt tất cả các kết quả vào một mảng kết hợp mà chúng ta có thể lặp qua. Vòng lặp while() lặp qua tập kết quả và xuất dữ liệu từ các cột id, firstname và lastname

Ví dụ sau hiển thị giống như ví dụ trên, theo cách thủ tục MySQLi

Ví dụ (Thủ tục MySQLi)

$servername = "máy chủ cục bộ";
$username = "tên người dùng";
$password = "mật khẩu";
$dbname = "myDB";

// Tạo kết nối
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Kiểm tra kết nối
nếu (. $conn) {
die("Kết nối thất bại. ". mysqli_connect_error());
}

$sql = "CHỌN id, tên, họ TỪ MyGuests";
$result = mysqli_query($conn, $sql);

nếu (mysqli_num_rows($result) > 0) {
// xuất dữ liệu của từng hàng
while($row = mysqli_fetch_assoc($result)) {
tiếng vang "id. ". $row["id"]. " - Tên. ". $row["firstname"]. "". $row["họ"]. "
“;
}
} khác {
echo "0 kết quả";
}

mysqli_close($conn);
?>

Chạy ví dụ »



Bạn cũng có thể đưa kết quả vào một bảng HTML

Ví dụ (Hướng đối tượng MySQLi)

$servername = "máy chủ cục bộ";
$username = "tên người dùng";
$password = "mật khẩu";
$dbname = "myDB";

// Tạo kết nối
$conn = new mysqli($servername, $username, $password, $dbname);
// Kiểm tra kết nối
nếu ($conn->connect_error) {
die("Kết nối thất bại. ". $conn->connect_error);
}

$sql = "CHỌN id, tên, họ TỪ MyGuests";
$result = $conn->query($sql);

nếu ($result->num_rows > 0) {
tiếng vang "";
// xuất dữ liệu của từng hàng
while($row = $result->fetch_assoc()) {
tiếng vang "";
}
tiếng vang"

IDName". $row["id"]. "". $row["firstname"]. "". $row["họ"]. "";
} khác {
echo "0 kết quả";
}
$conn->đóng();
?>

Chạy ví dụ »


Chọn dữ liệu với PDO (+ Báo cáo đã chuẩn bị)

Ví dụ sau sử dụng câu lệnh đã chuẩn bị

Nó chọn các cột id, firstname và lastname từ bảng MyGuests và hiển thị nó trong bảng HTML

Trong loạt bài viết trước của chúng tôi, chúng tôi đã tạo một trang web 2 trang đơn giản cho phép người dùng gửi nhận xét về trang họ đang xem. Trong bài viết này, chúng tôi sẽ chỉ cho bạn cách sử dụng PHP để kết nối và truy xuất dữ liệu từ MySQL

Bước 1. Tạo Truy vấn SQL của chúng tôi để lấy tất cả các nhận xét

Để hiển thị bình luận trên một trang, trước tiên chúng ta cần biết bình luận nào sẽ hiển thị. Khi chúng tôi thiết lập trang web của mình, chúng tôi đã tạo hai trang và mỗi trang được gán một số id duy nhất. Số ID này sẽ được sử dụng để thu thập nhận xét cho trang cụ thể đó. Ví dụ: khi người dùng ở trang 1, chúng tôi sẽ chọn tất cả các nhận xét trong cơ sở dữ liệu được gán cho trang “1”

Nếu bạn không quen với SQL, bạn có thể sử dụng phpMyAdmin để giúp viết lệnh SQL của mình. Để làm điều này

  1. Đăng nhập vào cPanel và nhấp vào biểu tượng phpMyAdmin
  2. Trong menu bên trái, trước tiên hãy nhấp vào tên cơ sở dữ liệu của bạn rồi nhấp vào bảng để làm việc với. Nếu bạn đang làm theo ví dụ của chúng tôi, trước tiên chúng tôi sẽ nhấp vào “_mysite” và sau đó là “bình luận”
  3. Nhấp vào "Tìm kiếm" trong menu trên cùng
  4. Nhập 1 cho “Value” của “articleid” và sau đó nhấp vào “Go”
    Làm cách nào chúng tôi có thể lưu trữ và truy xuất dữ liệu từ cơ sở dữ liệu trong php?

     

  5. Sau khi chạy tìm kiếm, phpMyAdmin sẽ hiển thị cho bạn tất cả các nhận xét thuộc về bài viết 1, cũng như cú pháp SQL mà bạn có thể sử dụng để chọn các nhận xét đó. Mã được cung cấp là. SELECT * FROM `comments` WHERE `articleid` =1 LIMIT 0 , 30

    Làm cách nào chúng tôi có thể lưu trữ và truy xuất dữ liệu từ cơ sở dữ liệu trong php?

     

     

Bước 2. Thiết lập mã PHP của chúng tôi để CHỌN nhận xét của chúng tôi

Lưu ý rằng mysqli_fetch_array không được dùng trong các phiên bản PHP dưới 7. 0. Kể từ ngày 7. 0, mã đã bị xóa và thay thế bằng mysqli_fetch-array

Bây giờ chúng ta đã có truy vấn SQL mẫu, chúng ta có thể sử dụng nó để tạo mã php sẽ in tất cả nhận xét trên một trang. Dưới đây là mã ví dụ mà chúng tôi đã tạo. Nếu bạn không quen thuộc với php, bất kỳ dòng nào bắt đầu bằng // đều là một nhận xét và nhận xét được các nhà phát triển sử dụng để ghi lại mã của họ. Trong ví dụ của chúng tôi, chúng tôi có khá nhiều nhận xét để giúp giải thích mã đang làm gì, nhưng hãy nhớ rằng hầu hết các tập lệnh không có nhiều nhận xét

User Comments";

// We are now ready to print our comments! Below we will loop through our
// comments and print them one by one.

// The while statement will begin the "looping"

/*NOTE that in PHP 7.0, the mysql_fetch_array has been removed -it was previously deprecated 
in earlier versions of PHP.  You find the cod documentation here:  
https://php.net/manual/en/function.mysql-fetch-array.php */

while($row = mysql_fetch_array($comments, MYSQL_ASSOC))
{

  // As we loop through each comment, the specific comment we're working
  // with right now is stored in the $row variable.

  // for example, to print the commenter's name, we would use:
  // $row['name']
  
  // if we want to print the user's comment, we would use:
  // $row['comment']
  
  // As this is a beginner tutorial, to make our code easier to read
  // we will take the values above (from our array) and put them into
  // individual variables

  $name = $row['name'];
  $email = $row['email'];
  $website = $row['website'];
  $comment = $row['comment'];
  $timestamp = $row['timestamp'];

  $name = htmlspecialchars($row['name'],ENT_QUOTES);
  $email = htmlspecialchars($row['email'],ENT_QUOTES);
  $website = htmlspecialchars($row['website'],ENT_QUOTES);
  $comment = htmlspecialchars($row['comment'],ENT_QUOTES);
  
  // We will now print the comment to the screen
  
  echo "  
Name: $name
Email: $email
Website: $website
Comment: $comment
Timestamp: $timestamp
"; } // At this point, we've added the user's comment to the database, and we can // now close our connection to the database: mysql_close($con); ?>

Như đã nêu trước đó, chúng tôi cố tình đưa vào nhiều nhận xét để giúp giải thích mã đang làm gì. Mặc dù mã ví dụ ở trên có vẻ như cần nhiều công việc, nhưng nếu chúng tôi loại bỏ tất cả các nhận xét, mã sẽ trông giống như

User Comments";

// Please remember that  mysql_fetch_array has been deprecated in earlier
// versions of PHP.  As of PHP 7.0, it has been replaced with mysqli_fetch_array.  

while($row = mysql_fetch_array($comments, MYSQL_ASSOC))
{
  $name = $row['name'];
  $email = $row['email'];
  $website = $row['website'];
  $comment = $row['comment'];
  $timestamp = $row['timestamp'];
  
  // Be sure to take security precautions! Even though we asked the user
  // for their "name", they could have typed anything. A hacker could have
  // entered the following (or some variation) as their name:
  //
  // 
  //
  // If instead of printing their name, "John Smith", we would be printing
  // javascript code that redirects users to a malicious website! To prevent
  // this from happening, we can use the htmlspecialchars function to convert
  // special characters to their HTML entities. In the above example, it would
  // instead print:
  //
  // <script type="text/javascript">window.location = "https://SomeBadWebsite.com";</script>
  //
  // This certainly would look strange on the page, but it would not be harmful
  // to visitors
  
  $name = htmlspecialchars($row['name'],ENT_QUOTES);
  $email = htmlspecialchars($row['email'],ENT_QUOTES);
  $website = htmlspecialchars($row['website'],ENT_QUOTES);
  $comment = htmlspecialchars($row['comment'],ENT_QUOTES);
  
  echo "  
Name: $name
Email: $email
Website: $website
Comment: $comment
Timestamp: $timestamp
"; } mysql_close($con); ?>

Bước 3. Đặt mã php của chúng tôi vào các trang của chúng tôi

Bây giờ chúng ta có mã php sẽ hiển thị nhận xét trên màn hình. Trong bài viết trước, chúng tôi đã giải thích cách sử dụng hàm include của php để sử dụng lại mã và chúng tôi sẽ tiếp tục sử dụng phương pháp này để sử dụng mã php của mình

Để kết hợp mã php của chúng tôi

  1. Tạo một tệp có tên display_comments. php
  2. Dán mã mẫu ở trên
  3. Cập nhật cả trang1. php và trang2. php để bao gồm display_comments. php bằng cách sử dụng.

    về phía cuối trang nơi bạn muốn hiển thị nhận xét

Sau khi thực hiện các bước trên, trang1 của chúng tôi. tập tin php bây giờ trông như thế này



This is page1.php

Click here to go to page2.php

Sau khi kiểm tra hai trang của chúng tôi, bạn có thể thấy rằng mỗi trang chỉ hiển thị các nhận xét đã được thêm vào trang cụ thể đó

Làm cách nào để truy xuất và hiển thị dữ liệu từ cơ sở dữ liệu trong 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);

Làm cách nào chúng tôi có thể truy xuất dữ liệu từ cơ sở dữ liệu trong php?

Truy xuất hoặc tìm nạp dữ liệu từ cơ sở dữ liệu trong PHP .
CHỌN (các) tên_cột TỪ_tên_bảng
$query = mysql_query("select * from tablename", $connection);
$connection = mysql_connect("localhost", "root", "");
$db = mysql_select_db("công ty", kết nối $);
$query = mysql_query("chọn * từ nhân viên", $connection);

Làm cách nào để lưu trữ và truy xuất dữ liệu từ cơ sở dữ liệu MySQL?

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.

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

Để truy xuất dữ liệu mong muốn người dùng đưa ra một bộ tiêu chí theo truy vấn . Sau đó, DBMS chọn dữ liệu được yêu cầu từ cơ sở dữ liệu. Dữ liệu được truy xuất có thể được lưu trữ trong một tệp, được in hoặc xem trên màn hình. Một ngôn ngữ truy vấn, chẳng hạn như Ngôn ngữ truy vấn có cấu trúc (SQL), được sử dụng để chuẩn bị các truy vấn.