شرح صفوف ومحتوى الفقرة
لجلب كافة السجلات المطابقة دفعة واحدة كمصفوفة تضم مصفوفات ترابطية (لعرض جدول منتجات أو قائمة مقالات مثلاً)، نستدعي الدالة $stmt->fetchAll():
- إرجاع مصفوفة فارغة
[]عند عدم التطابق: على عكس الدالةfetch()التي تُرجعfalse، تُرجع الدالةfetchAll()دائماً مصفوفة (وتكون مصفوفة فارغة[]إذا لم توجد نتائج). - الجاهزية المباشرة لحلقة
foreach: يمكنك المرور على ناتجfetchAll()مباشرة داخل حلقةforeachبأمان.
PHP
<?php
$pdo = new PDO("sqlite::memory:", null, null, [
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
]);
$pdo->exec("CREATE TABLE items (name TEXT)");
$pdo->exec("INSERT INTO items VALUES ('Keyboard'), ('Mouse')");
$stmt = $pdo->prepare("SELECT name FROM items");
$stmt->execute();
$items = $stmt->fetchAll();
echo count($items) . " items loaded.";