2011-06-17 9 views
19

mysqli_connect और mysql_connect के बीच क्या अंतर है?mysqli_connect और mysql_connect के बीच क्या अंतर है?

मैं सोच रहा हूं कि मुझे किस का उपयोग करना चाहिए। मैं दोनों का उपयोग किया जा रहा है, और ऐसा लगता है जैसे वे विनिमयशील हैं।

कौन सा कनेक्शन बेहतर है और कनेक्ट होने पर वे मूल रूप से अलग कैसे हैं?

+0

[? Mysqli_connect बनाम mysql_connect] (http के लिए कनेक्टर है: //answers.oreilly .com/topic/2557-mysqli-connect-vs-mysql-connect /) –

+0

mysqli_ * फ़ंक्शंस का उपयोग mysqli_connect संसाधन के साथ किया जाता है और mysql_ * फ़ंक्शन का उपयोग mysql_connect संसाधन के साथ किया जाता है। mysqli में और अधिक विशेषताएं हैं और उपयोग करने के लिए अधिक मौजूदा संस्करण है। आप पीडीओ में भी देखना चाहते हैं जो डेटाबेस से कनेक्ट करने का एक ओओ तरीका है। – dqhendricks

+0

@dhehendricks: तकनीकी रूप से mysqli "संसाधन" एक वस्तु है, जो mysqli ओओ और प्रक्रियात्मक शैलियों को पूरी तरह से बदलने योग्य बनाता है ... लेकिन सभी पुराने mysql एक्सटेंशन कार्यों के साथ पूरी तरह से असंगत है। –

उत्तर

10

वे विनिमय नहीं कर सकते हैं। MySQL डेटाबेस तक पहुंचने के लिए अलग-अलग एक्सटेंशन हैं।

http://ca2.php.net/manual/en/book.mysqli.php और http://ca2.php.net/manual/en/book.mysql.php देखें।

+0

तो क्या वे v4.1.3 और नए के साथ अंतर-परिवर्तनीय हैं? – locoboy

+0

@ cfarm54 - दोनों का उपयोग किया जा सकता है। वे कोई अंतर-परिवर्तनीय नहीं हैं (जैसा कि आप 'mysql_connect()' से कनेक्ट करते हैं और फिर 'mysqli_query() 'का उपयोग करने का प्रयास करें)। MySQLi सिंहावलोकन पृष्ठ कहता है: "यदि आप MySQL संस्करण 4.1.3 का उपयोग कर रहे हैं या बाद में यह दृढ़ता से अनुशंसा की जाती है कि आप इसके बजाय mysqli एक्सटेंशन का उपयोग करें।" –

11

mysqli_*() PHP के माध्यम से एक MySQL डेटाबेस तक पहुंचने का आधुनिक तरीका है।

वे विनिमयशील नहीं हैं।

8

दस्तावेज़ीकरण देखें: "PHP के mysqli एक्सटेंशन क्या है" http://ca3.php.net/manual/en/mysqli.overview.php

अनुभाग से

mysqli विस्तार, या के रूप में यह कभी कभी जाना जाता है, MySQL विस्तार में सुधार, MySQL सिस्टम संस्करणों 4.1.3 और नए में पाया नई सुविधाओं का लाभ लेने के लिए विकसित किया गया था। MySQL एक्सटेंशन PHP संस्करण 5 और के साथ बाद में शामिल है।

दो पुस्तकालयों के बीच कई महत्वपूर्ण मतभेद रहे हैं: mysql नहीं

  • mysqli तैयार बयान का समर्थन करता है करता है

    • mysqli समर्थन करता है वर्णसेट का समर्थन करता है,, mysql नहीं है
    • Mysql कई बयानों का समर्थन नहीं करता , mysqli करता है
  • 2

    MySQL और MySQLi दो अलग PHP एक्सटेंशन हैं, MySQLi नया है एक। हालांकि कनेक्ट फ़ंक्शंस अदला-बदली हो सकता है, मैं ऐसा करने के लिए असहमत हूं!

    MySQLi MySQL डेटाबेस तक पहुंचने के लिए ऑब्जेक्ट-ओरिएंटेड तरीका प्रदान करता है।

    संक्षेप में: यदि आप mysql_query() का उपयोग करते हैं, तो आपको अपने सर्वर से कनेक्ट करने के लिए mysql_connect() का उपयोग करना चाहिए।

    अन्य पहले ही PHP मैनुअल से लिंक पोस्ट करते हैं।

    +1

    mysql और mysqli एक्सटेंशन के बीच कुछ भी नहीं बदला जा सकता है। पुराने mysql फ़ंक्शंस केवल mysql _resources_ पर काम कर सकते हैं। Mysql_i_ फ़ंक्शन और विधियां केवल mysqli _objects_ पर काम कर सकती हैं। MySQL_i_ प्रक्रियात्मक और ओओ शैलियों हालांकि पूरी तरह से विनिमय करने योग्य हैं। असल में, जब आप mysql_i_ प्रक्रियात्मक फ़ंक्शन निष्पादित करते हैं, तो आप जो भी कर रहे हैं वह mysqli ऑब्जेक्ट को लपेट रहा है और इसकी आंतरिक विधि निष्पादित कर रहा है। –

    1

    Mysqli_connect mysql लाइब्रेरी का नया संस्करण है।

    यहां मैं माइस्क्ली में सुधार के लिए खड़ा हूं।

    माइस्क्ली के साथ कुछ चीजें पेश की गई हैं।

    वे हैं,

    - निर्दिष्ट बयान।

    - ऑब्जेक्ट उन्मुख इंटरफ़ेस।

    - एकाधिक बयानों के लिए समर्थन।

    -एम्बेडेड सर्वर समर्थन।

    mysqli विस्तार अनेक लाभ, अधिक mysql विस्तार किया जा रहा है कुंजी संवर्द्धन है:

    -Object उन्मुख इंटरफ़ेस

    तैयार वक्तव्य

    के लिए समर्थन एकाधिक वक्तव्य

    के लिए

    समर्थन

    - लेनदेन के लिए समर्थन

    - उन्नत डिबगिंग क्षमताओं

    -Embedded सर्वर समर्थन

    तो mysql_connect() मूल रूप से जबकि Mysqli_connect (MySQL डाटाबेस कनेक्टर है) mysqli databse

    संबंधित मुद्दे