Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để có được số hàng trong bảng MySQL bằng PHP?

Bạn có một số tùy chọn về cách nhận giá trị của COUNT(*) từ SQL. Ba cách dễ nhất có lẽ là:

$sql = "SELECT COUNT(*) FROM news";
$result = mysqli_query($con, $sql);
$count = mysqli_fetch_assoc($result)['COUNT(*)'];
echo $count;

hoặc sử dụng bí danh cột:

$sql = "SELECT COUNT(*) as cnt FROM news";
$result = mysqli_query($con, $sql);
$count = mysqli_fetch_assoc($result)['cnt'];
echo $count;

hoặc sử dụng mảng số:

$sql = "SELECT COUNT(*) FROM news";
$result = mysqli_query($con, $sql);
$count = mysqli_fetch_row($result)[0];
echo $count;

Nếu bạn đang sử dụng PHP 8.1, thì bạn có thể làm điều đó thậm chí còn đơn giản hơn:

$sql = "SELECT COUNT(*) FROM news";
$result = mysqli_query($con, $sql);
$count = mysqli_fetch_column($result);
echo $count;
// or using OO style
echo $con->query("SELECT COUNT(*) FROM news")->fetch_column();

Không sử dụng mysqli_num_rows để đếm các bản ghi trong cơ sở dữ liệu như được đề xuất ở một số nơi trên web. Chức năng này có rất ít công dụng và việc đếm các bản ghi chắc chắn không phải là một trong số chúng. Sử dụng mysqli_num_rows bạn sẽ yêu cầu MySQL truy xuất tất cả khớp các bản ghi từ cơ sở dữ liệu, có thể rất tốn tài nguyên. Sẽ tốt hơn nhiều nếu bạn ủy thác công việc đếm các bản ghi cho MySQL và sau đó chỉ lấy giá trị trả về trong PHP như trong câu trả lời của tôi.

Tôi cũng khuyên bạn nên học OOP, điều này giúp mã của bạn sạch hơn và dễ đọc hơn. Tương tự với OOP có thể được thực hiện như sau:

$sql = "SELECT COUNT(*) FROM news";
$count = $con->query($sql)->fetch_row()[0];
echo $count;

Nếu truy vấn của bạn sử dụng các biến, thì bạn có thể làm điều tương tự, nhưng bằng cách sử dụng các câu lệnh đã chuẩn bị.

$sql = "SELECT COUNT(*) FROM news WHERE category=?";
$stmt = $con->prepare($sql);
$stmt->bind_param('s', $category);
$stmt->execute();
$count = $stmt->get_result()->fetch_row()[0];
echo $count;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ghi vào cơ sở dữ liệu MySQL với gấu trúc bằng SQLAlchemy, to_sql

  2. CONVERT_TZ - Cách thay đổi múi giờ MySQL trong truy vấn

  3. Giới thiệu đơn giản về cách sử dụng MySQL trên Linux Terminal

  4. Cách tốt nhất để lưu trữ các tệp phương tiện trên cơ sở dữ liệu là gì?

  5. Bảo mật cơ sở dữ liệu - Mã hóa sao lưu trong quá trình vận chuyển &lúc nghỉ ngơi