Làm cách nào chúng tôi có thể truy xuất dữ liệu trong tập kết quả của mysql bằng php?

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ể truy xuất dữ liệu trong tập kết quả của mysql bằng 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ể truy xuất dữ liệu trong tập kết quả của mysql bằng 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ể đó

Cách lấy dữ liệu trong kết quả

Có 4 cách. .
mysqli_fetch_row() - Nhận một hàng kết quả dưới dạng một mảng liệt kê
mysqli_fetch_array() - Tìm nạp một hàng kết quả dưới dạng một mảng kết hợp, một mảng số hoặc cả hai
mysqli_fetch_object() - Tìm nạp hàng kết quả dưới dạng đối tượng
mysqli_fetch_assoc() - Tìm nạp một hàng kết quả dưới dạng một mảng kết hợp

Làm cách nào để truy xuất dữ liệu từ cơ sở dữ liệu SQL bằng 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 để truy xuất một bản ghi dữ liệu từ cơ sở dữ liệu bằng PHP MySQL?

Hiển thị các bản ghi bằng các hàm MySQLI

Làm cách nào tôi có thể nhận kết quả truy vấn SQL trong PHP?

Đầu tiên, chúng tôi thiết lập một truy vấn SQL để chọn các cột id, tên và họ 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 là $result . Sau đó, hàm num_rows() kiểm tra xem có nhiều hơn 0 hàng được trả về không.