شرح صفوف ومحتوى الفقرة
بعد تنفيذ استعلام INSERT أو UPDATE أو DELETE، نستدعي الدالة $stmt->rowCount() من كائن الاستعلام $stmt لمعرفة العدد الفعلي للصفوف التي تأثرت بالعملية:
- اكتشاف المعرفات غير الموجودة: إذا نفذت استعلام حذف أو تحديث لمعرف معين وكانت نتيجة
$stmt->rowCount() === 0، فهذا يعني أن المعرف غير موجود أصلاً في الجدول. - تجنب استخدامها مع
SELECT: صُممتrowCount()لعمليات التعديل والكتابة، أما لحساب عدد نتائج البحث فاستخدمSELECT COUNT(*)معfetchColumn().
PHP
<?php
$pdo = new PDO("sqlite::memory:");
$pdo->exec("CREATE TABLE coupons (code TEXT, active INT)");
$pdo->exec("INSERT INTO coupons VALUES ('SAVE20', 1)");
$stmt = $pdo->prepare("DELETE FROM coupons WHERE code = :code");
$stmt->execute(["code" => "SAVE20"]);
echo "Deleted rows: " . $stmt->rowCount();