طَبِّقْهاتعلّم المبدأ، وطبّقه بيدكمقرر 132 · تقنيات تطوير الواجهات الخلفية
تقييم الدرس 20

الإضافة والتعديل والحذف بأمان

أجب عن الأسئلة ثم اضغط «صحّح ورقتي» في آخر الصفحة. ← العودة إلى الدرس

أسئلة التقييم

تقييم الدرس 20: الإضافة والتعديل والحذف بأمان. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».

1السؤال الأول: اختر الإجابة الصحيحة

1) أي سطر آمن من حقن SQL؟
2) الطريقة التي تعيد عدد الصفوف المتأثرة بـ UPDATE:
3) لإلغاء كل أوامر المعاملة عند الفشل:
4) في الاستعلام المُعدّ، القيمة تُرسل:
5) ما الثغرة في هذا الكود؟
<?php$id = $_GET['id'];$pdo->query("DELETE FROM posts WHERE id = $id");

2السؤال الثاني: صح أم خطأ

1) htmlspecialchars تحمي الاستعلام من حقن SQL.
الصواب: خطأ
2) يُكتب المكان ? بلا علامات تنصيص حوله.
الصواب: صح
3) commit() تثبّت كل أوامر المعاملة معًا.
الصواب: صح
4) يجوز استخدام query() مع قيم من المستخدم إن استخدمنا trim.
الصواب: خطأ

3السؤال الثالث: أكمل الفراغات من القائمة المنسدلة

1) لبدء معاملة في PDO نستخدم .
الإجابة: beginTransaction()
2) رقم آخر صف أُضيف نحصل عليه بـ $pdo-> .
الإجابة: lastInsertId()
3) الثغرة التي تحدث بدمج بيانات المستخدم في أوامر SQL اسمها حقن .
الإجابة: SQL

4السؤال الرابع: أسئلة عملية

1) ماذا يرسل الخادم؟

<?php$pdo = new PDO('sqlite::memory:');$pdo->exec("CREATE TABLE t (id INTEGER PRIMARY KEY, n TEXT); INSERT INTO t (n) VALUES ('أ'), ('ب'), ('ج');");$s = $pdo->prepare('DELETE FROM t WHERE id > ?');$s->execute([1]);echo $s->rowCount();
الناتج الصحيح:
2

2) ماذا يرسل الخادم؟

<?php$pdo = new PDO('sqlite::memory:');$pdo->exec("CREATE TABLE u (id INTEGER PRIMARY KEY, name TEXT); INSERT INTO u (name) VALUES ('سعود'), ('نورة');");$s = $pdo->prepare('INSERT INTO u (name) VALUES (?)');$s->execute(["x' OR '1'='1"]);echo $pdo->lastInsertId();
الناتج الصحيح:
3
أجب عن الأسئلة ثم اضغط «صحّح ورقتي».

📝 معلم؟ أرسل ملاحظة للمؤلف عن هذا الدرس