التحقق من وجود الصف باستخدام PDO
لقد واجهت صعوبة في التحقق من وجود الصف في قاعدة بيانات باستخدام PDO. لمعالجة هذه المشكلة، فكر في الحل التالي:
كما هو مقترح في الإجابة، يمكنك التحقق مباشرة من القيمة المرجعة للاستعلام. إليك مثال:
$stmt = $conn->prepare('SELECT * FROM table WHERE ID=?');
$stmt->bindParam(1, $_GET['id'], PDO::PARAM_INT);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
if (!$row) {
echo 'Row does not exist';
}
في هذا الكود، يحاول $stmt->execute() تنفيذ الاستعلام. إذا لم يتم العثور على أي صف، فستُرجع الدالة $stmt->fetch() FALSE. يتيح لك هذا استخدام شرط if (!$row) لتحديد ما إذا كان الصف موجودًا أم لا.
بالإضافة إلى ذلك، إذا كنت ترغب في التحقق من وجود صفوف متعددة أو تجنب جلب الصف، فيمكنك استخدام $stmt-> طريقة fetchAll():
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
if (!$rows) {
echo 'No rows found';
}
بدلاً من ذلك، يمكنك توجيه MySQL لإرجاع الرقم 1 عند العثور على صف:
$sql = 'SELECT 1 from table WHERE id = ? LIMIT 1';
$stmt = $conn->prepare($sql);
$stmt->execute([$_GET['id']]);
if ($stmt->fetchColumn()) echo 'Row found';
يزيل هذا الأسلوب الحاجة إلى جلب الصف، مما يؤدي إلى تحسين الكفاءة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3