$count=$dbo->prepare("update pdo_admin set status='T' ");
//$count=$dbo->prepare("delete from pdo_admin where status='F'");
$count->execute();
$no=$count->rowCount();
echo " No of records = ".$no;
Output will show number of records updated or deleted from the table ( based on which line is executed )
No of records = 7
Same way let us try with one delete command
$count=$dbo->prepare("delete from pdo_admin where status='F'");
$count->execute();
$no=$count->rowCount();
echo " No of records = ".$no;
The output will show us number of records deleted from the pdo_admin table.$nume = $dbo->query("SELECT COUNT(id) FROM pdo_admin")->fetchColumn();
echo "<br>Number of records : ". $nume;
$nume = $dbo->query("SELECT COUNT(*) FROM pdo_admin")->fetchColumn();
Above code returns
Number of records = 10
This example shows how to use rowCount() after an UPDATE query to check how many rows were affected.
$stmt = $pdo->prepare("UPDATE users SET age = age + 1 WHERE active = 1");
$stmt->execute();
echo $stmt->rowCount() . " rows updated.";
Output:
5 rows updated.
This example demonstrates using rowCount() after a DELETE query.
$stmt = $pdo->prepare("DELETE FROM users WHERE age < 18");
$stmt->execute();
echo $stmt->rowCount() . " rows deleted.";
Output:
3 rows deleted.
try {
// Begin Transaction
$dbo->beginTransaction();
// Prepare an UPDATE query
$stmt = $dbo->prepare("UPDATE student SET mark = mark + 5 WHERE id = :id");
$stmt->bindParam(':id', $student_id, PDO::PARAM_INT);
// Set ID and execute query
$student_id = 1;
$stmt->execute();
// Check the number of rows affected
if ($stmt->rowCount() > 0) {
// Commit if rows were updated
$dbo->commit();
echo "Transaction successful, rows updated: " . $stmt->rowCount();
} else {
// Rollback if no rows were affected
$dbo->rollBack();
echo "Transaction rolled back, no rows updated.";
}
} catch (PDOException $e) {
// Rollback in case of error
$dbo->rollBack();
echo "Transaction failed: " . $e->getMessage();
}
Matching to the total number of students in the class.
try {
// Begin Transaction
$dbo->beginTransaction();
// Prepare an UPDATE query
$stmt = $dbo->prepare("UPDATE student SET mark = mark + 5 ");
$stmt->execute();
// Check the number of rows affected
if ($stmt->rowCount() == 35) { // 35 number of students in the class
// Commit if rows were updated
$dbo->commit();
echo "Transaction successful, rows updated: " . $stmt->rowCount();
} else {
// Rollback if no rows were affected
$dbo->rollBack();
echo "Transaction rolled back, no rows updated.";
}
} catch (PDOException $e) {
// Rollback in case of error
$dbo->rollBack();
echo "Transaction failed: " . $e->getMessage();
}
For some databases, rowCount() does not work with SELECT queries. Instead, use fetchAll() and count() for accurate row counts.
khan | 02-12-2012 |
can u send me file for that plzzz |
Steve | 09-07-2015 |
Thanks for this. It's nice and easy - and it works! |
Michael | 25-06-2018 |
If you use select count before truncating the table, you'll know the number of rows deleted. |
smo1234 | 29-06-2018 |
No , that is not the way to count records deleted. It must come directly from MySQL with a single query. |