sql >> Database >  >> RDS >> Mysql

Hoe het aantal rijen in de MySQL-tabel te krijgen met behulp van PHP?

Je hebt een aantal opties om de waarde van COUNT(*) te krijgen uit de Sql. De gemakkelijkste drie zijn waarschijnlijk deze:

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

of kolomalias gebruiken:

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

of met behulp van numerieke array:

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

Als u PHP 8.1 gebruikt, kunt u het nog eenvoudiger doen:

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

Gebruik geen mysqli_num_rows om de records in de database te tellen, zoals op sommige plaatsen op internet wordt gesuggereerd. Deze functie heeft weinig nut en het tellen van records is daar zeker niet een van. mysqli_num_rows gebruiken je zou MySQL vragen om alles op te halen overeenkomende records uit de database, wat erg veel resources zou kunnen kosten. Het is veel beter om het tellen van records te delegeren aan MySQL en dan gewoon de geretourneerde waarde in PHP te krijgen, zoals weergegeven in mijn antwoord.

Ik zou ook aanraden om OOP te leren, waardoor je code schoner en gemakkelijker te lezen wordt. Hetzelfde kan met OOP als volgt worden gedaan:

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

Als uw zoekopdracht variabelen gebruikt, kunt u hetzelfde doen, maar dan met voorbereide instructies.

$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. PostgreSQL BESCHRIJVINGSTABEL

  2. Subquery gebruiken in een Check-instructie in Oracle

  3. Hoe gebruik ik wachtwoord-hashing met PDO om mijn code veiliger te maken?

  4. hoe tweede toe te voegen in orakel-tijdstempel