"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية استخدام LIKE بشكل صحيح مع BindParam في استعلامات MySQL PDO؟

كيفية استخدام LIKE بشكل صحيح مع BindParam في استعلامات MySQL PDO؟

تم النشر بتاريخ 2024-11-16
تصفح:479

How to Correctly Use LIKE with BindParam in MySQL PDO Queries?

استخدام LIKE بشكل صحيح مع BindParam في MySQL PDO Query

عند محاولة إجراء عمليات بحث LIKE باستخدام bindParam في استعلامات MySQL PDO، فمن الضروري استخدام بناء الجملة الصحيح لضمان الحصول على نتائج دقيقة.

بناء الجملة الأمثل

لمطابقة أسماء المستخدمين التي تبدأ بـ "a" باستخدام bindParam، بناء الجملة الصحيح هو:

$term = "a%";

في المقابل، فإن الصيغة المقدمة في السؤال الأصلي، "$term = "'$term%'"، غير صحيحة لأنها تضع علامات اقتباس مفردة داخلية غير ضرورية حول $term القيمة، والتي قد تؤدي إلى البحث عن "a%" بدلاً من a%.

دور bindParam

يكون bindParam مسؤولاً عن اقتباس بيانات السلسلة تلقائيًا عند إدراجها في SQL لذلك، فإن إلحاق علامات الاقتباس المفردة يدويًا ليس ضروريًا ويمكن أن يؤدي إلى نتائج غير صحيحة.

الكود المنقح

باستخدام بناء الجملة الأمثل، سيكون الكود المنقح:[. &&&]

$term = "a%"; $sql = "اختر اسم المستخدم من `المستخدم` حيث اسم المستخدم مثل: الحد الأقصى 10"; $core = Connect::getInstance(); $stmt = $core->dbh->prepare($sql); $stmt->bindParam(':term', $term, PDO::PARAM_STR); $stmt->تنفيذ(); $data = $stmt->fetchAll();

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3