جلب النتائج باستخدام PDO
استرجعوا الصفوف باستخدام fetchAll وfetch وأنماط جلب PDO
جلب النتائج باستخدام PDO درس مجاني في PHP Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في PHP Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة PHP Academy 4 دروس في المجموع.
fetch() مقارنةً بـ fetchAll()
تُرجع fetch() صفًا واحدًا في كل مرة، مع تحريك المؤشر إلى الأمام. أما fetchAll() فتُرجع جميع الصفوف في مصفوفة باستدعاء واحد.
fetch() داخل حلقة
يُعد مثاليًا لمجموعات النتائج الكبيرة، إذ يعالج صفًا واحدًا في كل مرة من دون تحميل كل شيء إلى الذاكرة.
<?php
$stmt = $pdo->query("SELECT id, name FROM users");
while ($row = $stmt->fetch()) {
echo $row["id"]." - ".$row["name"]."\n";
}fetchAll()
تُرجع جميع الصفوف دفعة واحدة. وهي ملائمة لمجموعات النتائج الصغيرة.
<?php
$stmt = $pdo->query("SELECT * FROM products ORDER BY price");
$products = $stmt->fetchAll();FETCH_ASSOC
تُرجع الصفوف كمصفوفات ترابطية مفهرسة بأسماء الأعمدة، وهو نمط الجلب الأكثر شيوعًا.
<?php
$row = $stmt->fetch(PDO::FETCH_ASSOC);
// $row["email"], $row["name"]FETCH_OBJ
تُرجع الصفوف ككائنات stdClass. ويمكن الوصول إلى الأعمدة كخصائص.
<?php
$stmt->setFetchMode(PDO::FETCH_OBJ);
$row = $stmt->fetch();
echo $row->email;FETCH_CLASS
تملأ الصفوف مباشرةً في مثيلات صنف محدد.
<?php
$stmt->setFetchMode(PDO::FETCH_CLASS, User::class);
$users = $stmt->fetchAll(); // array of User objectsfetchColumn()
تجلب قيمة عمود واحد من الصف التالي. وهي مفيدة لاستعلامات COUNT.
<?php
$count = $pdo->query("SELECT COUNT(*) FROM orders")->fetchColumn();
echo "Total orders: ".$count;FETCH_KEY_PAIR
تُرجع مصفوفة ترابطية يكون فيها العمود الأول هو المفتاح والثاني هو القيمة، وهي مثالية لعمليات البحث عن المعرّفات→الأسماء.
<?php
$map = $pdo->query("SELECT id, name FROM categories")
->fetchAll(PDO::FETCH_KEY_PAIR);
// $map[1] = "Electronics", $map[2] = "Books"FETCH_UNIQUE
تفهرس FETCH_UNIQUE النتيجةَ باستخدام العمود الأول، مما يزيل التكرارات.
FETCH_GROUP
تجمع FETCH_GROUP الصفوف حسب قيمة العمود الأول، وهي مفيدة للعلاقات واحد إلى متعدد.
closeCursor()
تتطلب بعض برامج التشغيل استدعاء closeCursor() على العبارة قبل تشغيل استعلام آخر على الاتصال نفسه.
النتائج الفارغة
تُرجع fetch() القيمة false عند عدم وجود مزيد من الصفوف. تحقق دائمًا باستخدام: if ($row === false).
تحقق سريع
أي أسلوب يُرجع قيمة عمود واحد من صف واحد؟
الأسئلة الشائعة
هل درس «جلب النتائج باستخدام PDO» مجاني؟
نعم — نص درس «جلب النتائج باستخدام PDO» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة PHP Academy، انتقل إلى CoddyKit PRO. تتضمن دورة PHP Academy 4 دروس في المجموع.
ماذا ستتعلم في «جلب النتائج باستخدام PDO»؟
استرجعوا الصفوف باستخدام fetchAll وfetch وأنماط جلب PDO تتمرن على PHP Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ PHP Academy؟
لا تُشترط خبرة سابقة. PHP Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «جلب النتائج باستخدام PDO»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس PHP Academy هذا؟
نعم. كل درس في PHP Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- الاتصال بـ MySQL باستخدام PDO
- العبارات المُعدّة وربط المعاملات
- جلب النتائج باستخدام PDO
- المعاملات باستخدام PDO