नवीनतम लेख
घर / गेम कंसोल / MySQL php से कनेक्ट करना 5. MySQL डेटाबेस से कनेक्ट करना। एक अधिक प्रगतिशील प्रक्रियात्मक शैली - mysqli का उपयोग करके डेटाबेस से कनेक्ट करना

MySQL php से कनेक्ट करना 5. MySQL डेटाबेस से कनेक्ट करना। एक अधिक प्रगतिशील प्रक्रियात्मक शैली - mysqli का उपयोग करके डेटाबेस से कनेक्ट करना

php का उपयोग करना...

विभिन्न तरीकों से PHP में डेटाबेस कनेक्शन बनाना:

1) MySQL से जुड़ने का पुराने जमाने का तरीका:

$conn=mysql_connect($db_hostname, $db_username, $db_password) या मरो ("सर्वर से कोई कनेक्शन नहीं");
mysql_select_db($db_database,$conn) या मरो ("नहीं, डेटाबेस से कनेक्ट करना संभव नहीं था");

नीचे दिए गए चरों की व्याख्या.

निम्नलिखित कार्यों का उपयोग किया जाता है:

  • mysql_कनेक्ट()- सर्वर से कनेक्ट करने के लिए;
  • mysql_select_db()- डेटाबेस से कनेक्ट करने के लिए;

साथ ही, हम लगातार इस तरह से त्रुटियों की जांच करते हैं: या मरें ("त्रुटि ऐसी है और ऐसी है"); - ऐसी और ऐसी त्रुटि के साथ या मरना के रूप में अनुवादित - तुरंत पता लगाने के लिए कि त्रुटि कहाँ है।

config.php

// डेटाबेस से जुड़ने के लिए चर
$होस्ट = "लोकलहोस्ट"; /मेज़बान
$ उपयोगकर्ता नाम = "रूट"; // डेटाबेस से कनेक्ट करने के लिए पासवर्ड
$ पासवर्ड = ""; // डेटाबेस से कनेक्ट करने के लिए पासवर्ड - चालू स्थानीय कंप्यूटरइसका एक खाली मान हो सकता है.
$database_name = "my-dolgi"; // डेटाबेस का नाम

// डेटाबेस से जुड़ने का पुराना तरीका
mysql_connect ($ होस्ट, $ उपयोगकर्ता नाम, $ पासवर्ड) या मरें ("कनेक्ट नहीं किया जा सकता कनेक्शन बनाएं");

// डेटाबेस का चयन करें। यदि कोई त्रुटि है, तो आउटपुट
mysql_select_db($database_name) याdie(mysql_error());

Index.php

आवश्यकता_एक बार "config.php";


$ परिणाम = mysql_query ("नाम चुनें, डॉल्ग से पैसा मनी DESC LIMIT 5 द्वारा ऑर्डर करें") या मरें (mysql_error ());



";


जबकि ($पंक्ति = mysql_fetch_assoc($परिणाम)) (
";
}


mysql_free_result($परिणाम);

// कनेक्शन बंद करें
mysql_close();

2) एक अधिक प्रगतिशील प्रक्रियात्मक शैली - mysqli का उपयोग करके डेटाबेस से कनेक्ट करना:

यह विधि:

  1. अधिक सुविधाजनक;
  2. 40 गुना तक तेज;
  3. बढ़ी हुई सुरक्षा;
  4. नई सुविधाएँ और कार्य हैं;

तालिका से चयन के साथ PHP में डेटाबेस से जुड़ने का एक उदाहरण

config.php

// डेटाबेस से कनेक्शन
$लिंक = mysqli_connect('लोकलहोस्ट', 'उपयोगकर्ता नाम', 'पासवर्ड', 'नाम-डेटाबेस'); // यहां हम सीधे आपका डेटा दर्ज करते हैं: उपयोगकर्ता नाम, पासवर्ड और डेटाबेस नाम, पहला फ़ील्ड आमतौर पर लोकलहोस्ट होता है

// आउटपुट कनेक्शन त्रुटि
यदि (!$लिंक) (
इको "डेटाबेस से कनेक्ट करने में त्रुटि। त्रुटि कोड:"। mysqli_connect_error();
बाहर निकलना;
}

कृपया ध्यान दें - हर जगह mysqli का उपयोग किया जाता है, mysql का नहीं!!!

Index.php

आवश्यकता_एक बार "config.php";

// अनुरोध निष्पादित करें। यदि कोई त्रुटि है तो हम उसे प्रदर्शित करते हैं
अगर ($परिणाम= mysqli_query($लिंक,"नाम चुनें, मनी डेस लिमिट 5 के अनुसार ऋण आदेश से पैसा")) (

प्रतिध्वनि "घटते क्रम में मैं किसका ऋणी हूँ:

";

// क्वेरी परिणाम लाया जा रहा है
जबकि ($पंक्ति = mysqli_fetch_assoc($परिणाम)) (
प्रतिध्वनि $पंक्ति["नाम"]। "कर्ज के साथ"। $पंक्ति["पैसा"] . " रूबल.
";
}

// प्रयुक्त मेमोरी को मुक्त करना
mysqli_free_result($परिणाम);

// कनेक्शन बंद करें
mysqli_बंद करें($लिंक);
}

जैसा कि आप देख सकते हैं, कुछ बिंदु बदल गए हैं (इटैलिक में)।

3) MySQL डेटाबेस से जुड़ने की ऑब्जेक्ट-ओरिएंटेड विधि - विधियों और कक्षाओं का उपयोग करना:

विपक्ष: अधिक जटिल और त्रुटियों के प्रति कम संवेदनशील।

पेशेवर: अनुभवी प्रोग्रामर के लिए संक्षिप्तता और सुविधा।

$conn = नया mysqli($db_hostname, $db_username, $db_password, $db_database);
अगर($conn->connect_errno)(
मर($conn->connect_error);
) अन्यथा (गूंज "डेटाबेस से कनेक्शन सफलतापूर्वक स्थापित किया गया था";)

यहाँ, सिद्धांत रूप में, सब कुछ सहज है:

  • $db_hostname है मेज़बान(ज्यादातर लोकलहोस्ट),
  • $db_डेटाबेस - डीबी नाम;
  • $db_username और $db_password - क्रमशः उपयोक्तानाम और पासवर्ड!

तालिका से नमूने के साथ php OOP शैली में डेटाबेस से जुड़ने का एक उदाहरण

config.php

// डेटाबेस से कनेक्शन
$mysqli = नया mysqli ("लोकलहोस्ट", "उपयोगकर्ता नाम", "पासवर्ड", "नाम-डेटाबेस"); // यहां हम सीधे आपका डेटा दर्ज करते हैं: उपयोगकर्ता नाम, पासवर्ड और डेटाबेस नाम, पहला फ़ील्ड आमतौर पर लोकलहोस्ट होता है

// आउटपुट कनेक्शन त्रुटि
अगर ($mysqli->connect_error) (
मरो ("डीबी कनेक्शन त्रुटि: (" . $mysqli->connect_errno .") " . mysqli_connect_error);
}

कृपया ध्यान दें - हर जगह mysqli का उपयोग किया जाता है, mysql का नहीं!!! और पिछली विधि के विपरीत, तीर "->" दिखाई देते हैं, जो इंगित करते हैं कि यह एक OOP शैली है।

Index.php

आवश्यकता_एक बार "config.php";

// अनुरोध निष्पादित करें। यदि कोई त्रुटि है तो हम उसे प्रदर्शित करते हैं
यदि ($परिणाम = $ mysqli->क्वेरी("नाम चुनें, मनी डेस लिमिट 5 द्वारा ऋण आदेश से पैसा")) (

प्रतिध्वनि "घटते क्रम में मैं किसका ऋणी हूँ:

";

// क्वेरी परिणाम लाया जा रहा है
जबकि ($पंक्ति = $परिणाम-> Fetch_assoc()) {
प्रतिध्वनि $पंक्ति["नाम"]। "कर्ज के साथ"। $पंक्ति["पैसा"] . " रूबल.
";
}

// प्रयुक्त मेमोरी को मुक्त करना
$परिणाम->बंद करें();

// कनेक्शन बंद करें
$mysqli->बंद करें();
}

आपका काम अंतर ढूंढना है.

4) पीडीओ का उपयोग करके डेटाबेस के साथ संचार:

MySQL डेटाबेस से कनेक्ट करते समय, तैयार अभिव्यक्तियों का उपयोग किया जाता है (तैयार विधि का उपयोग करके) और परिणामस्वरूप, अधिक सुरक्षा और प्रदर्शन में काफी वृद्धि होती है।

कॉन्फ़िगरेशन फ़ाइलपिछली विधि से! - जो उसी

Index.php

// MySQL के साथ संचार के लिए पीडीओ शैली
अगर ($stmt = $mysqli->तैयार करें("नाम चुनें, डॉल्ग से पैसे से ऑर्डर करें< ? LIMIT 5")) {

$stmt->bind_param('i', $summa);
$सुम्मा = 1000000;

// निष्पादन प्रारंभ करें
$stmt->निष्पादित करें();

// तैयार मूल्यों के लिए चर घोषित करना
$stmt->bind_result($col1, $col2);

प्रतिध्वनि "घटते क्रम में मैं किसका ऋणी हूँ:

";

// क्वेरी परिणाम लाया जा रहा है
जबकि ($stmt->fetch()) (
प्रतिध्वनि $col1 . "कर्ज के साथ"। $col2 . " रूबल.
";
}

// प्रयुक्त मेमोरी को मुक्त करना
$stmt->बंद करें();

// कनेक्शन बंद करें
$mysqli->बंद करें();

जैसा कि आप देख सकते हैं, यहां यह बहुत अधिक जटिल है और आपको पीडीओ का अध्ययन करने की आवश्यकता है - यह एक अलग विषय है।

आज के इस लेख में हम डेटाबेस से कनेक्शन बनाने के बारे में बात करेंगे और चर्चा करेंगे कि प्रक्रियात्मक या ऑब्जेक्ट-ओरिएंटेड का उपयोग करने के लिए कौन सा विकल्प बेहतर है। सबसे पहले, आइए देखें कि हम किस स्तर पर हैं, यदि यह एक पूर्ण शुरुआतकर्ता का स्तर है, तो मेरी सलाह, बिना किसी अपवाद के, डेटाबेस से जुड़ने की प्रक्रियात्मक शैली का उपयोग शुरू करना है। पहले, मैंने अपने ब्लॉग पर इस विषय पर एक लेख लिखा था; डेटाबेस से कनेक्ट करने की प्रक्रियात्मक शैली के बारे में अधिक जानकारी के लिए, लेख पढ़ें: "PHP का उपयोग करके MySQL से कैसे कनेक्ट करें"। यदि आपके पास डेटाबेस से जुड़ने की प्रक्रियात्मक शैली के साथ काम करने का पहले से ही कुछ अनुभव है, तो संभवतः आपने, मेरी तरह, मेरी परियोजनाओं को ले लिया और उन्हें ऑब्जेक्ट-ओरिएंटेड दृष्टिकोण का उपयोग करने के लिए मजबूर किया।

किसी भी तरह, अब हम MySQL डेटाबेस से कनेक्शन बनाने के लिए क्लास बनाने के चरणों को देखेंगे पीएचपी भाषा. हमें दो PHP फ़ाइलों की आवश्यकता होगी, एक फ़ाइल में हम डेटाबेस से कनेक्शन बनाने के लिए क्लास को "डालेंगे", और दूसरे में हम इस क्लास के साथ काम करेंगे।

आइए दो फ़ाइलें बनाएं:

  • सूचकांक.php;
  • डेटाबेस.वर्ग.php;

मुझे लगता है कि अब हम छोटे बच्चे नहीं हैं और हम जानते हैं कि PHP फ़ाइलों के साथ काम करने के लिए हमें क्या चाहिए। स्थापित वेब सर्वर Apache, PHP, MySQL DBMS है और जानता है कि इन फ़ाइलों को कहाँ रखना है - (उन लोगों के लिए जो नहीं जानते हैं या भूल गए हैं)।

मैं उस फ़ाइल को एक अलग फ़ाइल में रखता हूं जिसमें क्लास संग्रहीत है और इसे प्रारूप में नाम देता हूं: क्लास name.class.php और मुझे पता है कि इस फ़ाइल में क्या संग्रहीत है। जब किसी प्रोजेक्ट में कई कक्षाएं होती हैं, तो आप खो सकते हैं, इसलिए मैं ऊपर वर्णित प्रारूप में कक्षाओं के साथ फ़ाइलों का नामकरण करने की सलाह देता हूं।

Database.class.php फ़ाइल:

आइए अब देखें कि इस चरण में क्या बनाया गया था। कीवर्ड "क्लास", क्लास का नाम - डेटाबेस और कर्ली ब्रेसिज़ का उपयोग करके, हमने क्लास की बॉडी बनाई। निर्मित वर्ग में, हमने दो गुण बनाए, $mConnect में - जहां डेटाबेस से कनेक्ट होने का परिणाम संग्रहीत होता है और $mSelectDB - जहां डेटाबेस का चयन करने का परिणाम संग्रहीत होता है। आपने प्रत्येक संपत्ति में कीवर्ड देखे होंगे - सार्वजनिक और स्थिर। उनकी बातचीत किस बारे में हो रही है? सार्वजनिक का अर्थ है कि संपत्ति वर्ग के बाहर से पहुंच योग्य है, और स्थैतिक वर्ग का उदाहरण बनाए बिना संपत्ति तक पहुंच या कॉल करना संभव बनाता है, जो अक्सर काम में सुविधाजनक होता है।

आइए डेटाबेस से कनेक्शन बनाने के लिए कनेक्ट() विधि जोड़ें:

".mysql_error()।"

"; बाहर निकलें(); झूठी वापसी; ) // परिणाम लौटाएं वापसी self::$mConnect; ) ) ?>

  • $होस्ट - सर्वर आईपी पता, स्थानीय पीसी पर यह लोकलहोस्ट है;
  • उपयोगकर्ता - डेटाबेस उपयोगकर्ता नाम;
  • $पास - डेटाबेस उपयोगकर्ता पासवर्ड;
  • $नाम - उस डेटाबेस का नाम जिससे हम जुड़ते हैं;

Mysql_connect() फ़ंक्शन डेटाबेस से एक कनेक्शन बनाता है और निष्पादन परिणाम को $mConnect में संग्रहीत करता है। इसके बाद IF निर्माण के साथ एक चेक आता है: यदि कनेक्शन सफल नहीं हुआ, तो एक त्रुटि संदेश प्रदर्शित करें... अन्यथा, PHP IF ब्लॉक को अनदेखा कर देगा और डेटाबेस का चयन करने के लिए आगे बढ़ेगा। Mysql_select_db() फ़ंक्शन डेटाबेस नाम का चयन करता है, यदि अनुरोधित डेटाबेस डेटाबेस में मौजूद नहीं है, तो इस स्थिति में प्रोग्राम उपयोगकर्ता को एक त्रुटि के बारे में सूचित करेगा। यदि सब कुछ सफल रहा, तो डेटाबेस कनेक्शन रिटर्न लौटा देगा।

बंद करें() विधि जोड़ें:

क्षमा करें, हम MySQL सर्वर से कनेक्ट करने में असमर्थ थे

"; बाहर निकलें(); झूठी वापसी; ) // डेटाबेस का चयन करने का प्रयास करें self::$mSelectDB = mysql_select_db($name, self::$mConnect); // यदि डेटाबेस चयनित नहीं है, तो एक त्रुटि संदेश प्रदर्शित करें। यदि( !self::$mSelectDB) (प्रतिध्वनि "

".mysql_error()।"

"; बाहर निकलें(); झूठी वापसी; ) // परिणाम लौटाएं रिटर्न self::$mConnect; ) // विधि डेटाबेस सार्वजनिक स्थैतिक फ़ंक्शन से कनेक्शन बंद कर देती है बंद करें() ( // परिणाम लौटाता है mysql_close(self: :$mकनेक्ट); ) ) ?>

इस वर्ग में अगली और अंतिम विधि, क्लोज़(), डेटाबेस से कनेक्शन बंद कर देती है; mysql_close() फ़ंक्शन MySQL सर्वर से कनेक्शन बंद कर देता है और परिणाम लौटाता है।

Index.php फ़ाइल:

परिभाषित() फ़ंक्शन का उपयोग करके, हमने डेटाबेस कनेक्शन पैरामीटर को संग्रहीत करने के लिए स्थिरांक बनाए। Require_once में हमारी DataBase क्लास को Index.php फ़ाइल में शामिल किया गया है।

आइए उस स्टैटिक कीवर्ड को याद करें जिसका उपयोग डेटाबेस क्लास में इस क्लास के गुणों और विधियों में किया गया था। यह हमें "::" (दो कोलन) का उपयोग करके वर्ग गुणों और विधियों तक पहुंचने की क्षमता देता है। DataBase::Connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE) विधि 4 पैरामीटर लेती है - डिफाइन() फ़ंक्शन द्वारा बनाए गए स्थिरांक, जो डेटाबेस से कनेक्शन के बारे में जानकारी संग्रहीत करते हैं। यदि कनेक्शन सफल होता है, तो कनेक्ट() विधि हमें एक डेटाबेस कनेक्शन लौटा देगी। इसके बाद, हम डेटाबेस पर क्वेरीज़ पर काम करने और उन्हें निष्पादित करने में सक्षम होंगे। mysql_query() फ़ंक्शन - डेटाबेस में एक क्वेरी निष्पादित करता है। Mysql_fetch_assoc() फ़ंक्शन क्वेरी परिणामों की एक श्रृंखला को संसाधित करता है और एक सहयोगी सरणी लौटाता है। इको निर्माण MySQL सर्वर संस्करण प्रदर्शित करता है। और अंत में, DataBase::Close() विधि डेटाबेस से कनेक्शन बंद कर देगी।

यह प्रश्न शुरुआती लोगों के बीच काफी लोकप्रिय है और इस पर एक अलग लेख न देना गलत होगा। PHP का उपयोग करके डेटाबेस कनेक्शन कैसे बनाएं? मैं तुरंत कहूंगा पीएचपी उपकरणडेटाबेस के साथ पूर्ण कार्य और MySQL के साथ इंटरेक्शन के लिए काफी पर्याप्त है। आइए अब जुड़ने का प्रयास करें!

PHP को MySQL से कनेक्ट करने के लिए आपको क्या चाहिए?

1. डीबीएमएस स्थापित किया और कार्यशील डेटाबेस बनाया। उदाहरण के लिए, MySQL में (DBMS और MySQL क्या हैं?)।
2. खाताउचित अधिकारों के साथ MySQL के लिए उपयोगकर्ता (MySQL में अधिकार और विशेषाधिकार क्या हैं?)
3. तदनुसार, PHP वाला एक सर्वर स्थापित किया गया

यदि आप इनमें से एक भी चरण पूरा नहीं करते हैं, तो आप कनेक्ट नहीं कर पाएंगे।

PHP और MySQL के बीच इंटरेक्शन के लिए एल्गोरिदम

1. डेटाबेस से कनेक्ट हो रहा है
2. अनुरोध भेजना और परिणाम प्राप्त करना
3. (पसंदीदा) कनेक्शन बंद करना

अब हम PHP का उपयोग करके डेटाबेस से जुड़ते हैं:

पीएचपी कोड

$db = mysql_connect("लोकलहोस्ट", "एडमिन", "पास"); // उपयोगकर्ता का डेटा
mysql_select_db('baseName',$db); // चुनें कि किस डेटाबेस से कनेक्ट करना है
?>
जैसा कि आप देख सकते हैं, कनेक्शन के लिए चार पैरामीटर निर्दिष्ट हैं:

1. होस्टनाम. कई मामलों में, लोकलहोस्ट (उसी होस्टिंग पर) निर्दिष्ट करना पर्याप्त है।
2. उस उपयोगकर्ता का नाम जिसे आपने MySQL का उपयोग करने के लिए पंजीकृत किया है।
3. उस उपयोगकर्ता का पासवर्ड जिसे आपने MySQL का उपयोग करने के लिए पंजीकृत किया है।
4. उस डेटाबेस का नाम जिससे हम जुड़ना चाहते हैं। तदनुसार, हमारे द्वारा निर्दिष्ट उपयोगकर्ता के पास इस डेटाबेस में काम करने का अधिकार होना चाहिए।

नतीजतन, अगर कुछ गलत तरीके से इंगित किया गया है, तो कुछ भी आपराधिक नहीं होगा, लेकिन सबसे अधिक संभावना है कि आपको एक त्रुटि दिखाई देगी। लेकिन आइए आशावादी बनें, मान लें कि आपने सब कुछ सही ढंग से दर्ज किया है।

अन्य प्रकार का कनेक्शन:

पीएचपी कोड

$होस्ट='लोकलहोस्ट'; /*मेज़बान*/
$ उपयोगकर्ता = "व्यवस्थापक"; /*उपयोगकर्ता नाम*/
$ पासवर्ड = "12345"; /*उपयोगकर्ता पासवर्ड*/
$db='बेसनाम'; /*डेटाबेस का नाम*/

Mysql_connect($होस्ट, $उपयोगकर्ता, $पासवर्ड); /*सर्वर से कनेक्ट करें*/
mysql_select_db($db); /*सर्वर पर डेटाबेस से कनेक्ट करें*/
?>
यहां मैं उपयोगकर्ता और होस्ट के लिए उदाहरण डेटा के साथ दृश्य रूप से वेरिएबल बनाता हूं, और फिर एक कनेक्शन बनाता हूं।

PHP में किसी डेटाबेस से कनेक्शन को कैसे बाधित (बंद) करें?

ऐसे मामले हैं जब कनेक्शन जानकारी गलत तरीके से निर्दिष्ट की गई है। इस स्थिति में, स्क्रिप्ट का प्रसंस्करण जारी रहता है पीएचपी फ़ाइलऔर पृष्ठ पर निश्चित संख्या में त्रुटियाँ और चेतावनियाँ उत्पन्न करता है। इन मामलों के लिए, मैं डेटाबेस से कनेक्ट करते समय एक त्रुटि हैंडलर का उपयोग करने का सुझाव देता हूं। यदि कनेक्शन असफल होता है, तो आपको एक चेतावनी प्राप्त होगी जो आपको बताएगी कि समस्या किस स्तर पर है:

पीएचपी कोड

$ उपयोगकर्ता = "व्यवस्थापक";
$ पासवर्ड = "12345";
$db='बेसनाम';

// यदि कोई त्रुटि हुई
mysql_connect($host, $user, $password) याdie("MySQL सर्वर अनुपलब्ध है!".mysql_error());
mysql_select_db($db) याdie('डेटाबेस से कोई संबंध नहीं।'mysql_error());
?>
यह भी बहुत महत्वपूर्ण है कि परिदृश्य का विकास रुक जाएगा, जो आपको बहुत सारे गलत डेटा से बचाएगा।

बधाई हो! अब आप जानते हैं कि PHP में डेटाबेस से कैसे कनेक्ट करें और कनेक्शन कैसे बंद करें!

आपके ध्यान देने के लिए धन्यवाद!

कोड उदाहरणों के साथ PHP के साथ MySQL से जुड़ने की 3 विधियाँ


MySQL डेटाबेस का उपयोग शुरू करने के लिए, आपको पहले यह समझना होगा कि अपने कस्टम PHP प्रोग्राम (स्क्रिप्ट) से इसी MySQL डेटाबेस से कैसे कनेक्ट किया जाए।

यह आलेख संबंधित PHP कोड उदाहरणों के साथ निम्नलिखित तीन विधियों का वर्णन करता है जो बताते हैं कि PHP से अपने डेटाबेस से कैसे कनेक्ट किया जाए।

नीचे दिए गए सभी उदाहरणों के लिए, हम मौजूदा MySQL डेटाबेस से जुड़ेंगे। ध्यान दें: यहां बताई गई हर चीज़ MySQL की तरह ही MariaDB के साथ भी काम करेगी।

1. mysqli एक्सटेंशन का उपयोग करके PHP से कनेक्ट करना
*mysqli का अर्थ है MySQL इम्प्रूव्ड

निम्न mysqli.php फ़ाइल बनाएँ

कनेक्ट_एरर) ( डाई("त्रुटि: कनेक्ट करने में असमर्थ:"। $conn->connect_error); ) इको "डेटाबेस से कनेक्ट किया गया।
"; $result = $conn->query("गोरोडा से आईडी चुनें"); echo "पंक्तियों की संख्या: $result->num_rows"; $result->close(); $conn->close(); ?> उपरोक्त कोड में:

  • mysqli - यह फ़ंक्शन mysqli एक्सटेंशन का उपयोग करके एक नया कनेक्शन आरंभ करता है। फ़ंक्शन चार तर्क लेता है:
    1. लोकलहोस्ट उस होस्ट का नाम है जिस पर MySQL डेटाबेस चल रहा है
    2. नाम - कनेक्ट करने के लिए MySQL उपयोगकर्ता नाम
    3. पास - MySQL उपयोगकर्ता के लिए पासवर्ड
    4. db - कनेक्ट करने के लिए MySQL डेटाबेस।
  • क्यूवेरी एक MySQL क्वेरी फ़ंक्शन है। इस उदाहरण में, हम शहर डेटाबेस से आईडी कॉलम का चयन करते हैं।
  • अंत में, हम परिणाम में num_rows वेरिएबल का उपयोग करके चयनित पंक्तियों की संख्या दिखाते हैं। जैसा कि ऊपर दिखाया गया है, हम परिणाम और कनेक्शन वेरिएबल दोनों को भी बंद कर देते हैं।
जब आप अपने ब्राउज़र से उपरोक्त mysqli.php पर कॉल करते हैं, तो आपको निम्न आउटपुट दिखाई देगा जो इंगित करता है कि PHP MySQL डेटाबेस से कनेक्ट करने और डेटा पुनर्प्राप्त करने में सक्षम था।

डेटाबेस से जुड़ा हुआ है. पंक्तियों की संख्या: 6 2. PHP MySQL PDO एक्सटेंशन से कनेक्शन
*PDO का मतलब PHP डेटा ऑब्जेक्ट है

PDO_MYSQL ड्राइवर आपकी PHP स्क्रिप्ट से MySQL डेटाबेस से कनेक्ट करने के लिए PHP द्वारा प्रदान किए गए PDO इंटरफ़ेस को कार्यान्वित करता है।

निम्नलिखित mysql-pdo.php फ़ाइल बनाएँ:

setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
इको "डेटाबेस से जुड़ा हुआ है।
"; $sql = "गोरोडा से आईडी चुनें"; प्रिंट करें "आईडी की सूची:
"; foreach ($conn->query($sql) as $row) ( print $row["id"] . "

  • "; ) $conn = null; ) पकड़(PDOException $err) ( echo "त्रुटि: कनेक्ट करने में असमर्थ:"। $err->getMessage(); ) ?> उपरोक्त में:
    1. नया पीडीओ - एक नया पीडीओ ऑब्जेक्ट बनाएगा जो निम्नलिखित तीन तर्क लेगा:
    2. mysql कनेक्ट स्ट्रिंग: यह "mysql:host=localhost;dbname=db" प्रारूप में होगा। उपरोक्त उदाहरण में db लोकलहोस्ट पर चल रहा है और हम db डेटाबेस से जुड़ रहे हैं।
    3. कनेक्ट करने के लिए MySQL उपयोगकर्ता नाम
  • MySQL उपयोगकर्ता पासवर्ड
  • $sql वैरिएबल - वह sql क्वेरी बनाएं जिसे आप निष्पादित करना चाहते हैं। इस उदाहरण में, हम शहर तालिका से आईडी कॉलम का चयन करते हैं।
  • क्वेरी($sql). यहां हम अभी बनाई गई एसक्यूएल क्वेरी निष्पादित कर रहे हैं।
  • प्रत्येक के लिए। यहां हम उपरोक्त क्वेरी कमांड से परिणाम को लूप करते हैं और इसे $row वेरिएबल में संग्रहीत करते हैं और फिर इको का उपयोग करके इसे आउटपुट करते हैं।
MySQL PDO में, किसी कनेक्शन को बंद करने के लिए, बस $conn वेरिएबल को शून्य पर सेट करें।

जब आप अपने ब्राउज़र से उपरोक्त mysqli.php स्क्रिप्ट को कॉल करेंगे, तो आपको निम्नलिखित पंक्तियाँ दिखाई देंगी; उनका मतलब है कि PHP MySQL डेटाबेस से जुड़ने और जानकारी पुनर्प्राप्त करने में सक्षम था: डेटाबेस से जुड़ा हुआ है. सूची आईडी: 1 2 3 4 5 6

3. पुराने mysql फ़ंक्शंस का उपयोग करके PHP से कनेक्शन यदि आप अधिक उपयोग कर रहे हैं तो ही इस विधि का उपयोग करेंपुराना संस्करण PHP और किसी कारण से आप इसे अपडेट नहीं कर सकतेनया संस्करण

यह विशेष एक्सटेंशन PHP 5.5 के बाद से अप्रचलित कर दिया गया है। लेकिन PHP 7.0 के हटा दिए जाने के बाद से यह भी काम नहीं करेगा। PHP 5.5 के बाद से, जब आप इन फ़ंक्शंस का उपयोग करते हैं, तो यह एक E_DEPRECATED त्रुटि उत्पन्न करेगा।

एक mysql.php फ़ाइल बनाएँ:

"; $ परिणाम = mysql_query ("गोरोडा से आईडी चुनें"); $ पंक्ति = mysql_fetch_row ($ परिणाम); इको "आईडी 1:", $ पंक्ति, "
\n"; mysql_close($conn); ?> उपरोक्त में:

  • Mysql_connect फ़ंक्शन तीन तर्क लेता है:
    1. होस्ट का नाम जहां MySQL डेटाबेस चल रहा है;
    2. कनेक्ट करने के लिए MySQL उपयोगकर्ता नाम;
    3. MySQL उपयोगकर्ता के लिए पासवर्ड। यहां यह MySQL डेटाबेस से जुड़ता है जो उपयोगकर्ता नाम और उसके पासवर्ड का उपयोग करके स्थानीय सर्वर पर चल रहा है।
  • mysql_select_db फ़ंक्शन। जैसा कि नाम से पता चलता है, यह उस डेटाबेस का चयन करता है जिससे आप जुड़ना चाहते हैं। "उपयोग" कमांड के बराबर। इस उदाहरण में हम एक db डेटाबेस से जुड़ रहे हैं।
  • mysql_query फ़ंक्शन - आपकी MySQL क्वेरी को निर्दिष्ट करने के लिए उपयोग किया जाता है। इस उदाहरण में, हम शहर डेटाबेस से आईडी कॉलम का चयन करते हैं।
  • mysql_fetch_row. हमारे द्वारा अभी बनाई गई SQL क्वेरी से पंक्तियाँ निकालने के लिए इस फ़ंक्शन का उपयोग करें।
  • अंत में, ऊपर दिखाए अनुसार mysql_close कमांड का उपयोग करके कनेक्शन बंद करें।
जब आप अपने ब्राउज़र से उपरोक्त mysql-legacy.php पर कॉल करते हैं, तो आपको निम्न आउटपुट दिखाई देगा, जो इंगित करता है कि PHP MySQL डेटाबेस से कनेक्ट करने और जानकारी पुनर्प्राप्त करने में सक्षम था:

डेटाबेस से जुड़ा हुआ है. आईडी 1:1 इस तरह आप MySQL से जुड़ सकते हैं। मैं दोहराता हूं, पहले दो तरीकों का उपयोग करना बेहतर है; हे

अपने MySQL डेटाबेस से अधिकतम लाभ प्राप्त करने के लिए, यह समझना महत्वपूर्ण है कि कस्टम PHP प्रोग्राम से MySQL डेटाबेस से कैसे कनेक्ट किया जाए।

यह ट्यूटोरियल संबंधित PHP उदाहरण प्रोग्राम के साथ निम्नलिखित तीन विधियों का वर्णन करता है जो समझाएगा कि PHP का उपयोग करके डेटाबेस से कैसे कनेक्ट किया जाए।

  • Mysqli एक्सटेंशन का उपयोग करके कनेक्ट करें (अनुशंसित)
  • पीडीओ का उपयोग करके कनेक्ट करें (अनुशंसित)
  • पारंपरिक विरासत mysql_ फ़ंक्शंस का उपयोग करके कनेक्ट करना (अप्रचलित)

ऐसा करने के लिए, आपको PHP-MySQL पैकेज इंस्टॉल करना होगा।

सहित RedHat वितरण के आधार पर, PHP-MySQL स्थापित करने के लिए yum का उपयोग करें जैसा कि नीचे दिखाया गया है।

यम php-mysql इंस्टॉल करें

आपके सिस्टम के आधार पर, हम उपरोक्त निम्नलिखित निर्भरताएँ स्थापित या अद्यतन करेंगे:

  • php-cli
  • php-सामान्य
  • php-पीडीओ
  • php-pgsql

एक बार सब कुछ इंस्टॉल हो जाने पर, phpinfo पेज नीचे दिखाए अनुसार MySQL मॉड्यूल प्रदर्शित करेगा:

नीचे दिए गए सभी उदाहरणों के लिए, हम पहले से मौजूद MySQL डेटाबेस से जुड़ेंगे। यदि आप MySQL में नए हैं, तो शुरुआत करने के लिए यह एक अच्छी जगह है: .

नोट: यहां वर्णित हर चीज मारियाडीबी के साथ भी काम करेगी, जैसे यह MySQL के साथ काम करती है।

1. Mysqli एक्सटेंशन का उपयोग करके PHP में कनेक्शन

MySQLi का मतलब MySQL इम्प्रूव्ड है।

कृपया ध्यान दें कि अधिकांश वितरणों (जैसे: CentOS) पर, PHP-MySQLi पहले से ही PHP-MySQL पैकेज का हिस्सा है। इस तरह आपको PHP-MySQLi पैकेज को खोजने और इंस्टॉल करने की ज़रूरत नहीं है। आपको बस अपने सिस्टम पर कार्यशील Mysqli एक्सटेंशन प्राप्त करने के लिए PHP-MySQL पैकेज इंस्टॉल करना होगा।

अपाचे में DocumentRoot में निम्नलिखित mysqli.php फ़ाइल बनाएं:

कनेक्ट_एरर) ( डाई("त्रुटि: कनेक्ट करने में असमर्थ:"। $conn->connect_error); ) इको "डेटाबेस से कनेक्ट हो रहा है।
"; $result = $conn->query("कर्मचारी से नाम चुनें"); echo "पंक्तियों की संख्या: $result->num_rows"; $result->close(); $conn->close(); ?>

उपरोक्त में:

  • MySQLi - यह फ़ंक्शन Mysqli एक्सटेंशन का उपयोग करके एक नया कनेक्शन आरंभ करेगा। यह फ़ंक्शन चार तर्क लेगा:
    1. होस्टनाम जहां MySQL डेटाबेस चल रहा है
    2. MySQL कनेक्शन के लिए उपयोगकर्ता नाम
    3. कनेक्ट करने के लिए MySQL उपयोगकर्ता नाम
    4. कनेक्ट करने के लिए MySQL डेटाबेस।
  • क्वेरी फ़ंक्शन - अपनी MySQL क्वेरी निर्दिष्ट करने के लिए इसका उपयोग करें। इस उदाहरण में, हम कर्मचारी डेटाबेस से नाम कॉलम का चयन करते हैं।
  • अंत में, हम num_rows वेरिएबल का उपयोग करके चयनित पंक्तियों की संख्या प्रदर्शित करते हैं। हम ऊपर दिखाए अनुसार कनेक्शन भी बंद कर देते हैं।

डेटाबेस से कनेक्ट करें. पंक्तियों की संख्या: 4

नोट: यदि आप किसी दूरस्थ MySQL डेटाबेस से कनेक्ट करने का प्रयास कर रहे हैं, तो होस्ट कनेक्शन अस्वीकृत त्रुटि से बचने के लिए आप ऐसा कर सकते हैं: MySQL क्लाइंट को दूरस्थ MySQL सर्वर से कनेक्ट करने की अनुमति कैसे दें।

2. PDO एक्सटेंशन के साथ PHP का उपयोग करके MySQL से कनेक्ट करना

PDO का मतलब PHP डेटा ऑब्जेक्ट है।

PDO_MYSQL किसी प्रोग्राम को MySQL डेटाबेस से जोड़ने के लिए PHP द्वारा प्रदान किए गए PDO इंटरफ़ेस को लागू करता है।

अधिकांश Linux वितरणों (जैसे CentOS और RedHat) पर, PHP-PDO पैकेज पहले से ही PHP-MySQL पैकेज में शामिल है। इस तरह आपको PHP-PDO पैकेज खोजने और इंस्टॉल करने की ज़रूरत नहीं है। आपको अपने सिस्टम पर कार्यशील PDO_MYSQL PHP एक्सटेंशन प्राप्त करने के लिए बस PHP-MySQL पैकेज इंस्टॉल करना होगा।

अपने Apache DocumentRoot में निम्नलिखित MySQL-pdo.php फ़ाइल बनाएँ:

setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
इको "डेटाबेस से कनेक्ट हो रहा है।
"; foreach ($conn->query($sql) as $row) ( print $row["name"] . "
"; ) $conn = null; ) पकड़ें(PDOException $err) ( echo "त्रुटि: कनेक्ट करने में असमर्थ:"। $err->getMessage(); ) ?>

उपरोक्त में:

  • नया पीडीओ - एक नया पीडीओ ऑब्जेक्ट बनाएगा जो निम्नलिखित तीन तर्क लेगा:
    1. MySQL कनेक्शन स्ट्रिंग: "mysql:host=$hostname;dbname=$dbname" प्रारूप में होगी। उपरोक्त उदाहरण में, डेटाबेस लोकलहोस्ट पर चल रहा है और हम एंड्रीएक्स डेटाबेस से जुड़ रहे हैं।
    2. MySQL से कनेक्ट करने के लिए उपयोगकर्ता नाम.
    3. MySQL उपयोगकर्ता के लिए पासवर्ड.
  • $sql वैरिएबल - निर्माण एसक्यूएल क्वेरीजिसे आप निष्पादित करना चाहते हैं. इस उदाहरण में, हम कर्मचारी तालिका से नाम कॉलम का चयन करते हैं।
  • query($sql) - यहां हम उस SQL ​​क्वेरी को निष्पादित करते हैं जिसे हमने अभी बनाया है।
  • foreach - यहां हम उपरोक्त कमांड चलाते हैं और उन्हें सेव करते हैं परिवर्तनीय स्ट्रिंग$ और फिर हम उन्हें प्रिंट कमांड का उपयोग करके दिखाते हैं।
  • MySQL PDO में, किसी कनेक्शन को बंद करने के लिए, बस $conn वेरिएबल को शून्य पर रीसेट करें।

जब आप अपने ब्राउज़र से mysqli.php को कॉल करते हैं, तो आपको निम्न आउटपुट दिखाई देगा, जो दर्शाता है कि PHP MySQL डेटाबेस से कनेक्ट करने और डेटा लाने में सक्षम था।

डेटाबेस से कनेक्ट करें. कर्मचारी का नाम: साइट्सलान मारिया ओलेग

3. mysql_ फ़ंक्शंस का उपयोग करके PHP में कनेक्शन (पुराना)

इस पद्धति का उपयोग केवल तभी करें यदि आप PHP के पुराने संस्करण का उपयोग कर रहे हैं और किसी कारण से नए संस्करण में अपग्रेड नहीं कर सकते हैं।

यह एक लीगेसी PHP 5.5 एक्सटेंशन है। लेकिन PHP 7.0 संस्करण से शुरू होने पर, यह काम नहीं करेगा क्योंकि इसे हटा दिया गया था।

PHP 5.5 के अनुसार, जब आप इन फ़ंक्शंस का उपयोग करते हैं, तो वे एक E_DEPRECATED त्रुटि उत्पन्न करेंगे।

Apache DocumentRoot के अंतर्गत निम्नलिखित MySQL-legacy.php फ़ाइल बनाएँ:

"; $ परिणाम = mysql_query ("कर्मचारी से नाम चुनें"); $ पंक्ति = mysql_fetch_row ($ परिणाम); प्रतिध्वनि "कर्मचारी 1:", $ पंक्ति, "
\n"; mysql_close($conn); ?>

उपरोक्त में:

  • Mysql_connect फ़ंक्शन तीन तर्क लेता है: 1) होस्टनाम जहां MySQL डेटाबेस चल रहा है, 2) MySQL से कनेक्ट करने के लिए उपयोगकर्ता नाम, 3) MySQL उपयोगकर्ता के लिए पासवर्ड। यहां हम रूट उपयोगकर्ता नाम और उसके पासवर्ड का उपयोग करके MySQL डेटाबेस से जुड़ते हैं, जो स्थानीय सर्वर पर चल रहा है।
  • mysql_select_db फ़ंक्शन - जैसा कि नाम से पता चलता है, उस डेटाबेस का चयन करेगा जिससे आप कनेक्ट करना चाहते हैं। यह "उपयोग" कमांड के बराबर है। इस उदाहरण में हम एंड्रीएक्स डेटाबेस से जुड़ रहे हैं।
  • mysql_query फ़ंक्शन - अपनी MySQL क्वेरी निर्दिष्ट करने के लिए इसका उपयोग करें। इस उदाहरण में, हम कर्मचारी डेटाबेस से नाम कॉलम का चयन करते हैं।
  • mysql_fetch_row - हमारे द्वारा अभी बनाई गई SQL क्वेरी से पंक्तियाँ लाने के लिए इस फ़ंक्शन का उपयोग करें।
  • अंत में ऊपर दिखाए गए अनुसार mysql_close कमांड का उपयोग करके कनेक्शन बंद करें।

जब आप अपने ब्राउज़र से MySQL-legacy.php को कॉल करते हैं, तो आपको निम्न आउटपुट दिखाई देगा, जो दर्शाता है कि PHP MySQL डेटाबेस से कनेक्ट करने और डेटा लाने में सक्षम था।

डेटाबेस से कनेक्ट करें. कर्मचारी 1: एंड्रीएक्स