Làm cách nào để lấy giá trị từ cơ sở dữ liệu trong 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 “Giá trị” của “articleid” rồi nhấp vào “Đi”
    Làm cách nào để lấy giá trị 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 để lấy giá trị 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 để tìm nạp dữ liệu đơn lẻ từ cơ sở dữ liệu trong php?

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ê.

Làm cách nào để hiển thị dữ liệu từ cơ sở dữ liệu trong php trong bảng?

php $connect=mysql_connect('localhost', 'root', 'mật khẩu');

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

Cú pháp là. CHỌN cột1, cột2 TỪ bảng1, bảng2 Ở ĐÂU cột2='giá trị'; .
Mệnh đề SELECT chỉ định một hoặc nhiều cột sẽ được truy xuất; . .
Mệnh đề TỪ chỉ định một hoặc nhiều bảng sẽ được truy vấn

Làm cách nào tôi có thể tìm nạp tất cả dữ liệu từ một bảng trong php?

Hàm fetch_all() / mysqli_fetch_all() tìm nạp tất cả các hàng kết quả và trả về tập kết quả dưới dạng một mảng kết hợp, một mảng số .