Seyid Ahmed Khessam نشر 26 سبتمبر 2021 أرسل تقرير نشر 26 سبتمبر 2021 (معدل) لدي استفسار حول معالج الاخطاء Attribute في PDO حيث ان له ثلاثة انماط على حسب علمي هي : PDO::ERRMODE_EXCEPTION PDO::ERRMODE_SILENT PDO::ERRMODE_WARNING سؤالي ماهو دور كل واحدة فيهم وايهم هو النمط الافتراضي للامر setAttribute(); تم التعديل في 26 سبتمبر 2021 بواسطة Wael Aljamal توضيح السؤال 1 اقتباس
1 Wael Aljamal نشر 26 سبتمبر 2021 أرسل تقرير نشر 26 سبتمبر 2021 القيمة الافتراضية ل PDO::ATTR_ERRMODE هي PDO::ERRMODE_SILENT. لن يظهر أي أخطا SQL ولا حتى PHP. PDO::ERRMODE_SILENT الوضع الصامت، لايظهر أي خطأ أو استثناء حتى لو حدث خطأ (عند نشر الموقع نستعمل هذه القيمة لكي لايظهر شيئ للزوار) أي في نمط الإنتاج بعد إطلاق الموقع. PDO::ERRMODE_WARNING يظهر الأخطء التي تحدث في PHP أو SQL والتي تكون PHP E_WARNING عند حدوث خطأ وسوف يكمل تنفيذ السكربت مع إظهار الأخطاء. PDO::ERRMODE_EXCEPTION يتم رمي استثناء عند حدوث خطأ، ويتوقف تنفيذ البرنامج. الدالة setAttributeتستخدم لضبط نمط معين أثناء عمل الاتصال، مثل نمط الخطأ كالمثال: $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); حيث أن الشكل العام له: bool setAttribute ( int $attribute , mixed $value ) يعيد true في حال نجاح إسناد القيمة للنمط. mixed هو pseudo type تمت إضافته في PHP 8، يقبل أي نوع من الأنماط، مهما كان parameter أو return أو property 1 اقتباس
0 Seyid Ahmed Khessam نشر 27 سبتمبر 2021 الكاتب أرسل تقرير نشر 27 سبتمبر 2021 بتاريخ 7 ساعات قال Wael Aljamal: القيمة الافتراضية ل PDO::ATTR_ERRMODE هي PDO::ERRMODE_SILENT. لن يظهر أي أخطا SQL ولا حتى PHP. PDO::ERRMODE_SILENT الوضع الصامت، لايظهر أي خطأ أو استثناء حتى لو حدث خطأ (عند نشر الموقع نستعمل هذه القيمة لكي لايظهر شيئ للزوار) أي في نمط الإنتاج بعد إطلاق الموقع. PDO::ERRMODE_WARNING يظهر الأخطء التي تحدث في PHP أو SQL والتي تكون PHP E_WARNING عند حدوث خطأ وسوف يكمل تنفيذ السكربت مع إظهار الأخطاء. PDO::ERRMODE_EXCEPTION يتم رمي استثناء عند حدوث خطأ، ويتوقف تنفيذ البرنامج. الدالة setAttributeتستخدم لضبط نمط معين أثناء عمل الاتصال، مثل نمط الخطأ كالمثال: $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); حيث أن الشكل العام له: bool setAttribute ( int $attribute , mixed $value ) يعيد true في حال نجاح إسناد القيمة للنمط. mixed هو pseudo type تمت إضافته في PHP 8، يقبل أي نوع من الأنماط، مهما كان parameter أو return أو property بارك الله فيك وفي علمك زادك الله علما تنفع وتنتفع به ان تكرمت اخي بقي لدي سؤال اخير كنت ابحث عنه مند مدة هو ايقاف عرض الاخطاء وانت قلت لي بان PDO::ERRMODE_SILENT مخصصة لهدا الامر فارجو لو تبين لي طريقة تضمينها لمنع عرض اي خطا او الشرط الدي يجب ان يتحقق حتى امرر هدا الامر PDO::ERRMODE_SILENT وشكرا لك واسف اخي ان اطلت او اثقلت عليك اقتباس
0 Wael Aljamal نشر 27 سبتمبر 2021 أرسل تقرير نشر 27 سبتمبر 2021 بتاريخ 5 ساعات قال Seyid Ahmed Khessam: فارجو لو تبين لي طريقة تضمينها لمنع عرض اي خطا نقوم بإسناد الخاصية عند إجراء الإتصال: $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT); طالما تستخدم PDO للاتصال مع القاعدة، أضف هذا السطر بعد إنشاء الاتصال مباشرة، وسيتم تطبيقه على كل مابعده 1 اقتباس
السؤال
Seyid Ahmed Khessam
لدي استفسار حول معالج الاخطاء Attribute في PDO حيث ان له ثلاثة انماط على حسب علمي هي :
PDO::ERRMODE_EXCEPTION
PDO::ERRMODE_SILENT
PDO::ERRMODE_WARNING
سؤالي ماهو دور كل واحدة فيهم وايهم هو النمط الافتراضي للامر setAttribute();
تم التعديل في بواسطة Wael Aljamalتوضيح السؤال
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.