PDOStatement::rowCount - إرجاع عدد الصفوف المتأثرة ببيان SQL السابق (PHP 5 >= 5.1.0، PECL pdo >= 0.1.0)
int PDOStatement::rowCount (باطل)
PDOStatement::rowCount() ترجع عدد الصفوف المتأثرة بآخر عبارة DELETE أو INSERT أو UPDATE التي تم تنفيذها بواسطة كائن PDOStatement المطابق.
إذا كانت عبارة SQL الأخيرة التي تم تنفيذها بواسطة PDOStatement ذات الصلة عبارة عن عبارة SELECT، فقد تُرجع بعض البيانات عدد الصفوف التي يتم إرجاعها بواسطة هذه العبارة. ومع ذلك، لا يمكن ضمان نجاح هذا الأسلوب مع كافة البيانات، ولا ينبغي الاعتماد عليه في التطبيقات المحمولة.
إرجاع عدد الصفوف.
PDOStatement::rowCount() إرجاع عدد الصفوف المتأثرة ببيان DELETE أو INSERT أو UPDATE.
<?php/* حذف كافة الصفوف من جدول بيانات FRUIT*/$del = $dbh->prepare('DELETE FROM Fruit');$del->execute();/* إرجاع عدد الصفوف المحذوفة*/print ("إرجاع عدد الصفوف التي تم حذفها:n");$count = $del->rowCount();print("تم حذف صفوف $count.n");?>
إخراج المثال أعلاه:
إرجاع عدد الصفوف التي تم حذفها: تم حذف 9 صفوف.
بالنسبة لمعظم قواعد البيانات، لا يمكن لـ PDOStatement::rowCount() إرجاع عدد الصفوف المتأثرة ببيان SELECT. وبدلاً من ذلك، استخدم PDO::query() لإصدار عبارة SELECT COUNT(*) بنفس التعبير الشرطي مثل عبارة SELECT المقصودة في الأصل، ثم استخدم PDOStatement::fetchColumn() لجلب الصف التالي. بهذه الطريقة يمكن تنفيذ التطبيق بشكل صحيح.
<?php$sql = "SELECT COUNT(*) FROM Fruit WHERE السعرات الحرارية > 100";if ($res = $conn->query($sql)) { /* تحقق من عدد الصفوف التي تطابق عبارة SELECT*/ if ($ res->fetchColumn() > 0) { /* إصدار عبارة SELECT حقيقية والعمل على النتائج التي تم إرجاعها*/ $sql = "SELECT name FROM Fruit حيث السعرات الحرارية> 100"؛ foreach ($conn->query($sql) as $row) { print "Name: " . $row['NAME'] . "n"; } } /* لا توجد صفوف متطابقة - - تنفيذ أخرى */ else { print "لا توجد صفوف متطابقة مع الاستعلام.";
نتيجة الإخراج للمثال أعلاه هي:
تفاح، موز، برتقالي، كمثرى