Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara mendapatkan jumlah baris di tabel MySQL menggunakan PHP?

Anda memiliki beberapa opsi cara mendapatkan nilai COUNT(*) dari SQLnya. Tiga yang paling mudah mungkin adalah ini:

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

atau menggunakan alias kolom:

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

atau menggunakan array numerik:

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

Jika Anda menggunakan PHP 8.1, maka Anda dapat melakukannya dengan lebih sederhana:

$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();

Jangan gunakan mysqli_num_rows untuk menghitung catatan dalam database seperti yang disarankan di beberapa tempat di web. Fungsi ini sangat sedikit digunakan, dan menghitung catatan jelas bukan salah satunya. Menggunakan mysqli_num_rows Anda akan meminta MySQL untuk mengambil semua pencocokan catatan dari database, yang bisa sangat memakan sumber daya. Jauh lebih baik untuk mendelegasikan tugas menghitung catatan ke MySQL dan kemudian hanya mendapatkan nilai yang dikembalikan dalam PHP seperti yang ditunjukkan dalam jawaban saya.

Saya juga merekomendasikan untuk mempelajari OOP, yang membuat kode Anda lebih bersih dan lebih mudah dibaca. Hal yang sama dengan OOP dapat dilakukan sebagai berikut:

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

Jika kueri Anda menggunakan variabel, maka Anda dapat melakukan hal serupa, tetapi menggunakan pernyataan yang telah disiapkan.

$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. Bagaimana cara mengubah direktori data MySQL?

  2. Fungsi MySQL ROUND() – Membulatkan Angka ke Jumlah Tempat Desimal yang Diberikan

  3. Lempar kesalahan yang mencegah pembaruan tabel di pemicu MySQL

  4. Bagaimana Fungsi UCASE() Bekerja di MySQL

  5. hitungan untuk setiap bergabung - pengoptimalan