العودة إلى الدورة

عمليات CRUD باستخدام PDO: اختيار وجلب البيانات

PHP: الدورة التدريبية المكثفة الكاملة من الصفر إلى الاحتراف

47. عمليات CRUD باستخدام PDO: اختيار وجلب البيانات

تسترد عمليات 'القراءة' البيانات من قاعدة البيانات باستخدام أمر SQL SELECT.

1. الاختيار البسيط (جلب الكل)

ما زلنا نستخدم العبارات المُعدَّة، حتى عندما لا يتطلب الاستعلام مدخلات المستخدم، من أجل الاتساق والأمان.

php

<?php // SQL لاختيار جميع المستخدمين $sql = "SELECT id, username, email FROM users"; $stmt = $pdo->prepare($sql); $stmt->execute(); // جلب جميع الصفوف في مصفوفة PHP $users = $stmt->fetchAll(PDO::FETCH_ASSOC); if ($users) { echo "<h2>قائمة المستخدمين:</h2>"; foreach ($users as $user) { echo "ID: " . $user['id'] . ", Name: " . $user['username'] . "<br>"; } } else { echo "لم يتم العثور على مستخدمين."; } ?>

أوضاع جلب PDO:

  • PDO::FETCH_ASSOC: يُرجع النتائج كمصفوفة ترابطية (المفتاح هو اسم العمود). (الأكثر شيوعًا)
  • PDO::FETCH_NUM: يُرجع النتائج كمصفوفة مفهرسة (المفتاح هو فهرس العمود).
  • PDO::FETCH_OBJ: يُرجع النتائج ككائن PHP عام.

2. اختيار سجلات محددة

نستخدم جملة WHERE والربط لاسترداد البيانات بناءً على المعايير، وعادةً ما يكون المعرف.

php

<?php $target_id = 2; $sql = "SELECT username, email FROM users WHERE id = :id"; $stmt = $pdo->prepare($sql); $stmt->bindParam(':id', $target_id, PDO::PARAM_INT); $stmt->execute(); // استخدم fetch() لصف واحد $user = $stmt->fetch(PDO::FETCH_ASSOC); if ($user) { echo "<br>تفاصيل المعرف 2: " . $user['email']; } ?>