একটি এসও প্রশ্নে আমি এখানে কিছু কোড সম্পর্কে জিজ্ঞাসা করেছি যে সম্পর্কে আমি অনিশ্চিত ছিলাম, কেউ জবাব দিয়েছিল "বিটিডাব্লু, সেখানে ভয়াবহ কোড: এটি চিহ্নকে দমন করতে ত্রুটিটি ব্যবহার করে (@)" "
এই খারাপ অভ্যাসের কারণ আছে কি? যেমন জিনিস সহ:
$db=@new mysqli($db_info) or die('Database error');
, এটি আমাকে কেবল একটি কাস্টম ত্রুটি বার্তা প্রদর্শন করতে দেয়। ত্রুটি দমন না করে, তারপরেও এটির সাধারণ পিএইচপি বার্তা প্রদর্শিত হবে:
সতর্কতা : mysqli :: mysqli (): php_network_getaddresses: getaddrinfo ব্যর্থ: এ জাতীয় কোনও হোস্ট জানা যায় নি। মধ্যে কিছু \ ফাইল \ পথ উপর লাইন 6
পাশাপাশি 'ডাটাবেস ত্রুটি'
ত্রুটিটি কি সর্বদা দমন করা খারাপ এবং যদি তাই হয় তবে উপরোক্ত বিষয়গুলির মধ্যে বিশেষত খারাপটি কী?
আপডেট: আমি যে আসল কোডটি ব্যবহার করছি তা হ'ল:
or error('Datatabase error', 'An error occurred with the database' . (($debug_mode) ? '<br />MySQL reported: <b>' . $db->error . '</b><br />Error occurred on line <b>' . __LINE__ . '</b> of <b>' . __FILE__ . '</b>' : ''))
যা পূর্ববর্তী সমস্ত আউটপুট সরায় এবং একটি ত্রুটি বার্তা প্রদর্শন করে। সুতরাং ত্রুটি বার্তায় নির্দিষ্টভাবে কী ঘটেছে (যা লোকেরা মনে হয় ত্রুটি দমন করার কারণে খারাপ কারণ হিসাবে প্রস্তাবিত বলে মনে হচ্ছে) সম্পর্কিত বিশদটি অন্তর্ভুক্ত নয় এটি অপ্রাসঙ্গিক।
or error('Datatabase error', 'An error occurred with the database' . (($debug_mode) ? '<br />MySQL reported: <b>' . $db->error . '</b>' : ''))