Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

PHP के mysql_ फ़ंक्शंस को बहिष्कृत क्यों किया जाता है?

MySQL एक्सटेंशन प्राचीन है और लगभग 15 साल पहले जारी किए गए PHP 2.0 के बाद से है (!!); जो आधुनिक PHP से एक निश्चित रूप से अलग जानवर है जो अपने अतीत की बुरी प्रथाओं को छोड़ने की कोशिश करता है। mysql एक्सटेंशन MySQL के लिए एक बहुत ही कच्चा, निम्न-स्तरीय कनेक्टर है जिसमें कई सुविधा सुविधाओं का अभाव है और इस प्रकार सही ढंग से लागू करना कठिन है। सुरक्षित तरीके से; इसलिए यह नोब्स के लिए बुरा है। कई डेवलपर्स SQL ​​इंजेक्शन को नहीं समझते हैं और mysql API इतना नाजुक है कि इसे रोकना मुश्किल है, भले ही आप इसके बारे में जानते हों। यह वैश्विक स्थिति से भरा है (उदाहरण के लिए अंतर्निहित कनेक्शन गुजर रहा है), जिससे कोड लिखना आसान हो जाता है जिसे बनाए रखना मुश्किल होता है। चूंकि यह पुराना है, इसलिए इसे PHP कोर स्तर पर बनाए रखना अनुचित रूप से कठिन हो सकता है।

Mysqli एक्सटेंशन बहुत नया है और उपरोक्त सभी समस्याओं को ठीक करता है। पीडीओ भी नया है और उन सभी समस्याओं को भी ठीक करता है, साथ ही और भी।

इन कारणों से * भविष्य में कभी-कभी mysql एक्सटेंशन हटा दिया जाएगा। इसने अपना काम अपने सुनहरे दिनों में किया, बल्कि बुरी तरह से, लेकिन इसने किया। समय आगे बढ़ गया है, सर्वोत्तम अभ्यास विकसित हुए हैं, अनुप्रयोग अधिक जटिल हो गए हैं और अधिक आधुनिक एपीआई की आवश्यकता है। mysql सेवानिवृत्त हो रहा है, इसके साथ रहें।

यह सब देखते हुए, कोई कारण नहीं है जड़ता को छोड़कर इसका उपयोग जारी रखने के लिए।

* ये मेरे सामान्य ज्ञान सारांश कारण हैं; पूरी आधिकारिक कहानी के लिए, यहां देखें:https://wiki.php.net/rfc/mysql_deprecation

उस दस्तावेज़ से पसंद उद्धरण अनुसरण करते हैं:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. अत्यधिक MySQL गतिविधि

  2. MySQL में अल्पविराम से अलग की गई सूची के रूप में क्वेरी परिणाम कैसे लौटाएं?

  3. SQL वाले कमरे की उपलब्धता की जाँच करें

  4. NOT NULL DEFAULT '' का क्या मतलब है?

  5. प्रति मान COUNT द्वारा आदेश