47. عمليات CRUD باستخدام PDO: اختيار وجلب البيانات
تسترد عمليات 'القراءة' البيانات من قاعدة البيانات باستخدام أمر SQL SELECT.
1. الاختيار البسيط (جلب الكل)
ما زلنا نستخدم العبارات المُعدَّة، حتى عندما لا يتطلب الاستعلام مدخلات المستخدم، من أجل الاتساق والأمان.
php
prepare($sql); $stmt->execute(); // جلب جميع الصفوف في مصفوفة PHP $users = $stmt->fetchAll(PDO::FETCH_ASSOC); if ($users) { echo "قائمة المستخدمين:
"; foreach ($users as $user) { echo "ID: " . $user['id'] . ", Name: " . $user['username'] . ""; } } else { echo "لم يتم العثور على مستخدمين."; } ?>
أوضاع جلب PDO:
PDO::FETCH_ASSOC: يُرجع النتائج كمصفوفة ترابطية (المفتاح هو اسم العمود). (الأكثر شيوعًا)PDO::FETCH_NUM: يُرجع النتائج كمصفوفة مفهرسة (المفتاح هو فهرس العمود).PDO::FETCH_OBJ: يُرجع النتائج ككائن PHP عام.
2. اختيار سجلات محددة
نستخدم جملة WHERE والربط لاسترداد البيانات بناءً على المعايير، وعادةً ما يكون المعرف.
php
prepare($sql); $stmt->bindParam(':id', $target_id, PDO::PARAM_INT); $stmt->execute(); // استخدم fetch() لصف واحد $user = $stmt->fetch(PDO::FETCH_ASSOC); if ($user) { echo "تفاصيل المعرف 2: " . $user['email']; } ?>