क्या जावास्क्रिप्ट MySQL से जुड़ सकता है?


113

क्या जावास्क्रिप्ट MySQL से जुड़ सकता है? यदि हां, तो कैसे?


नहीं, जब तक आप ब्राउज़र में जावास्क्रिप्ट के बारे में बात नहीं कर रहे हैं।
लुका मैटिस

2
सर्वर साइड जावास्क्रिप्ट (जैसे राइनो के माध्यम से) के बारे में क्या? क्या हम किसी डेटाबेस से जुड़ सकते हैं?
जोएंड सेप

7
या Node.js के रूप में अच्छी तरह से काम करेंगे
गेब्रियल फेयर

1
इस पृष्ठ के सभी उत्तरों को अनदेखा करें क्योंकि वे सभी गलत हैं। वास्तव में, यह किया जा सकता है। डेवलपर
.chrome.com

स्वीकृत उत्तर सिर्फ सादा गलत है (और 2010 में भी था)। यह उत्तर सही है।
टीजे क्राउडर

जवाबों:


26

नहीं, जावास्क्रिप्ट सीधे MySQL से कनेक्ट नहीं हो सकता है। लेकिन आप ऐसा करने के लिए JS को PHP के साथ मिला सकते हैं।

जावास्क्रिप्ट एक क्लाइंट-साइड भाषा है और आपका MySQL डेटाबेस सर्वर पर चलने वाला है


87
छोटा नोट: तथ्य यह है कि जावास्क्रिप्ट क्लाइंट-साइड पर चलता है, इस तथ्य से कोई लेना-देना नहीं है कि यह डेटाबेस सर्वर से कनेक्ट नहीं हो सकता है। यह बहुत अच्छी तरह से हो सकता है (हालांकि, अत्यधिक संभावना नहीं है) कि भाषा का एक भविष्य का संस्करण दूरस्थ डेटाबेस तक पहुंचने के लिए एपीआई को जोड़ देगा।
लुकास कुम्हार

3
मैं नहीं कहूंगा कि "PHP के साथ JS को मिलाएं", हालांकि। आप क्या कर सकते हैं PHP कोड जावास्क्रिप्ट कोड / डेटा (json, उदा) उत्पन्न करते हैं कि यह अग्रिम में MySQL से पुनर्प्राप्त किया गया है। या आप डेटा तक पहुँचने के लिए http (json / REST / SOAP / ... जो कुछ भी) इंटरफ़ेस प्रदान करने के लिए PHP का उपयोग कर सकते हैं जो कि php कोड MySQL से प्राप्त होता है - और यह http इंटरफ़ेस जावास्क्रिप्ट कोड द्वारा कहीं भी चल रहा है, मुख्य रूप से कहा जा सकता है एक क्रूर व्यक्ति। आज के रूप में, यह भी कहना है कि जावास्क्रिप्ट क्लाइंट पक्ष है वर्तमान में नहीं है - उदाहरण के लिए Node.js की जाँच करें।
हेनिंग

14
"जावास्क्रिप्ट एक क्लाइंट-साइड भाषा है" जरूरी नहीं: जावा से अधिक नहीं।
लीजी

2
Mysql 5.7 के नए संस्करण के साथ httpclient http प्लगइन (mysql 5.7 के लिए निर्मित) का उपयोग करके mysql डेटाबेस के साथ सीधे संवाद कर सकता है
अतुल चौधरी

क्या यह किसी भी तरह से आपकी साइट तक पहुँचने वाले सभी ब्राउज़रों के लिए एक सुरक्षा जोखिम नहीं होगा, जो कि स्थानीय रूप से जावास्क्रिप्ट फ़ाइल हो जो सीधे आपके एसक्यूएल सर्वर तक पहुँच रही हो?
वासिलिस

85

क्लाइंट-साइड जावास्क्रिप्ट कुछ प्रकार के पुल के बिना MySQL तक नहीं पहुंच सकता है। लेकिन उपरोक्त बोल्ड स्टेटमेंट कि जावास्क्रिप्ट सिर्फ एक क्लाइंट-साइड भाषा गलत है - जावास्क्रिप्ट क्लाइंट-साइड और सर्वर-साइड चला सकते हैं, जैसा कि Node.js.

Node.js https://github.com/sidorares/node-mysql2 जैसी किसी चीज़ के माध्यम से MySQL तक पहुँच सकते हैं

आप Socket.IO का उपयोग करके भी कुछ विकसित कर सकते हैं

क्या आपका मतलब यह पूछने का है कि क्लाइंट-साइड JS ऐप MySQL तक पहुँच सकता है? मुझे यकीन नहीं है कि ऐसे पुस्तकालय मौजूद हैं, लेकिन वे संभव हैं।

संपादित करें : लेखन के बाद से, अब हमारे पास MySQL क्लस्टर है :

Node.js के लिए MySQL क्लस्टर जावास्क्रिप्ट ड्राइवर सिर्फ ऐसा लगता है जैसे यह है - यह एक कनेक्टर है जिसे आपके जावास्क्रिप्ट कोड से सीधे कॉल किया जा सकता है ताकि आप अपना डेटा पढ़ सकें और लिख सकें। चूंकि यह डेटा नोड्स को सीधे एक्सेस करता है, इसलिए MySQL सर्वर से गुजरने से कोई अतिरिक्त विलंबता नहीं होती है और जावास्क्रिप्ट कोड // ऑब्जेक्ट्स को SQL ऑपरेशन में बदलने की आवश्यकता होती है। यदि किसी कारण से, आप इसे MySQL सर्वर से गुजरना पसंद करेंगे (उदाहरण के लिए यदि आप InnoDB में टेबल स्टोर कर रहे हैं) तो इसे कॉन्फ़िगर किया जा सकता है।


53

यदि आप जावास्क्रिप्ट का उपयोग करके MySQL डेटाबेस से कनेक्ट करना चाहते हैं, तो आप Node.js और mysql नामक लाइब्रेरी का उपयोग कर सकते हैं । आप प्रश्न बना सकते हैं, और रजिस्टर की एक सरणी के रूप में परिणाम प्राप्त कर सकते हैं। यदि आप इसे आज़माना चाहते हैं, तो आप बैकएंड बनाने और कनेक्ट करने के लिए डेटाबेस के रूप में MySQL चुनने के लिए मेरे प्रोजेक्ट जनरेटर का उपयोग कर सकते हैं। फिर, बस अपने नए REST API या GraphQL के समापन बिंदु को अपने सामने उजागर करें और अपने MySQL डेटाबेस के साथ काम करना शुरू करें।


NOSTALGIA द्वारा पुराने उत्तर छोड़ दिया

फिर

जैसा कि मैंने प्रश्न को समझा और मुझे सही किया अगर मैं गलत हूं, तो यह क्लाइंट के पक्ष में केवल जावास्क्रिप्ट के साथ क्लासिक सर्वर मॉडल को संदर्भित करता है। इस क्लासिक मॉडल में, LAMP सर्वर (लिनक्स, अपाचे, MySQL, PHP) के साथ डेटाबेस के संपर्क में भाषा PHP थी, इसलिए डेटाबेस में डेटा का अनुरोध करने के लिए आपको PHP स्क्रिप्ट लिखने और क्लाइंट को रिटर्निंग डेटा इको करने की आवश्यकता होती है। असल में, भौतिक मशीनों के अनुसार भाषाओं का वितरण था:

  1. सर्वर साइड: PHP और MySQL।
  2. क्लाइंट साइड: HTML / CSS और जावास्क्रिप्ट।

इसका जवाब एक एमवीसी मॉडल (मॉडल, व्यू, कंट्रोलर) से मिलता है, जहां हमारी निम्नलिखित कार्यक्षमता थी:

  1. मॉडल: मॉडल वह है जो डेटा से संबंधित है, इस मामले में, PHP स्क्रिप्ट जो वैरिएबल का प्रबंधन करती है या जो संग्रहीत डेटा को एक्सेस करती है, इस मामले में हमारे MySQL डेटाबेस में है और क्लाइंट को JSON डेटा के रूप में भेजती है।
  2. दृश्य: दृश्य वह है जो हम देखते हैं और यह पूरी तरह से मॉडल से स्वतंत्र होना चाहिए। यह सिर्फ मॉडल में निहित डेटा को दिखाने की जरूरत है, लेकिन उस पर प्रासंगिक डेटा नहीं होना चाहिए। इस स्थिति में, दृश्य HTML और CSS का उपयोग करता है। HTML इस मूल संरचना को आकार देने के लिए दृश्य की मूल संरचना और CSS बनाने के लिए।
  3. कंट्रोलर : कंट्रोलर हमारे मॉडल और हमारे विचार के बीच का इंटरफेस है। इस स्थिति में, प्रयुक्त भाषा जावास्क्रिप्ट है और यह उस डेटा को लेती है जो मॉडल हमें JSON पैकेज के रूप में भेजता है और इसे कंटेनरों के अंदर डालता है जो HTML संरचना प्रदान करते हैं। AJAX का उपयोग करके नियंत्रक मॉडल के साथ इंटरैक्ट करता है । हम सर्वर पर साइड में PHP स्क्रिप्ट को कॉल करने और सर्वर से लौटाए गए डेटा को पकड़ने के लिए GET और POST विधियों का उपयोग करते हैं।

नियंत्रक के लिए, हम की तरह वास्तव में दिलचस्प उपकरण है jQuery , के रूप में "निम्न स्तर के" पुस्तकालय HTML संरचना (डोम) को नियंत्रित करने के, और फिर नया, अधिक के रूप में उच्च स्तर के लोगों Knockout.js कि हमें पर्यवेक्षकों बनाने की अनुमति है कि कनेक्ट अलग जब घटनाएँ होती हैं तो DOM तत्व उन्हें अपडेट करते हैं। Google द्वारा Angular.js भी है जो एक समान तरीके से काम करता है, लेकिन एक संपूर्ण वातावरण लगता है। उनके बीच चयन करने में आपकी मदद करने के लिए, यहां आपके पास दो उपकरणों के दो उत्कृष्ट विश्लेषण हैं: नॉकआउट बनाम एंगुलर।जेएस और नॉकआउट। जेएस बनाम एंगुलरजेएस । मैं अभी भी पढ़ रहा हूं। आशा है कि वे आपकी मदद करेंगे।

अभी

Node.js में स्थित आधुनिक सर्वरों में, हम हर चीज के लिए जावास्क्रिप्ट का उपयोग करते हैं। Node.js एक जावास्क्रिप्ट वातावरण है जिसमें कई पुस्तकालय हैं जो Google V8, क्रोम जावास्क्रिप्ट इंजन के साथ काम करते हैं। जिस तरह से हम इन नए सर्वरों के साथ काम करते हैं:

  1. Node.js और एक्सप्रेस : मेनफ्रेम जहां सर्वर बनाया गया है। हम कोड की कुछ लाइनों के साथ एक सर्वर बना सकते हैं या यहां तक ​​कि सर्वर बनाने के लिए और भी आसान बनाने के लिए एक्सप्रेस जैसी लाइब्रेरी का उपयोग कर सकते हैं। Node.js और Express के साथ, हम क्लाइंट्स से सर्वर के लिए याचिकाओं का प्रबंधन करेंगे और उचित पृष्ठों के साथ उनका जवाब देंगे।
  2. जेड : पृष्ठों को बनाने के लिए हम एक टेम्प्लेटिंग भाषा का उपयोग करते हैं, इस मामले में, जेड, जो हमें वेब पेज लिखने की अनुमति देता है जैसा कि हम एचटीएमएल लिख रहे थे लेकिन अंतर के साथ (इसमें थोड़ा समय लगता है लेकिन सीखना आसान है)। फिर, क्लाइंट की याचिकाओं का जवाब देने के लिए सर्वर के कोड में, हमें बस जेड कोड को "वास्तविक" HTML कोड में प्रस्तुत करना होगा।
  3. स्टाइलस : जेड के समान लेकिन सीएसएस के लिए। इस स्थिति में, हम अपने पृष्ठ के लिए स्टाइलस फ़ाइल को वास्तविक CSS फ़ाइल में बदलने के लिए एक मिडलवेयर फ़ंक्शन का उपयोग करते हैं।

फिर हमारे पास बहुत सारे पैकेज हैं जिन्हें हम NPM (Node.js पैकेज मैनेजर) का उपयोग करके इंस्टॉल कर सकते हैं और उन्हें सीधे हमारे Node.js सर्वर में उपयोग कर सकते हैं, बस इसके लिए आपको (उन लोगों के लिए जो Node.js सीखना चाहते हैं, इस शुरुआती ट्यूटोरियल को आज़माएँ अवलोकन के लिए)। और इन पैकेजों में, आपके पास डेटाबेस तक पहुंचने के लिए उनमें से कुछ हैं। इसका उपयोग करके आप My SQL डेटाबेस तक पहुँचने के लिए सर्वर-साइड पर जावास्क्रिप्ट का उपयोग कर सकते हैं।

लेकिन अगर आप Node.js के साथ काम करने जा रहे हैं तो सबसे अच्छा आप JSON फ़ाइलों के आधार पर MongoDB जैसे नए NoSQL डेटाबेस का उपयोग करना है । MySQL जैसी तालिकाओं को संग्रहीत करने के बजाय, यह JSON संरचनाओं में डेटा संग्रहीत करता है, इसलिए आप प्रत्येक संरचना के अंदर अलग-अलग डेटा डाल सकते हैं जैसे कि सबसे बड़े एक के आकार के लिए विशाल तालिकाओं को बनाने के बजाय लंबे संख्यात्मक वैक्टर।

मुझे उम्मीद है कि यह संक्षिप्त व्याख्या आपके लिए उपयोगी हो सकती है, और यदि आप इसके बारे में अधिक जानना चाहते हैं, तो यहां आपके पास कुछ संसाधन हैं जिनका आप उपयोग कर सकते हैं:

  • एगहेड : यह साइट जावास्क्रिप्ट और इसके वातावरण के बारे में बहुत ही संक्षिप्त ट्यूटोरियल से भरी है। यह एक कोशिश के काबिल है। और समय-समय पर छूट देते हैं।
  • कोड स्कूल : क्लाइंट-साइड का परीक्षण करने में आपकी सहायता करने के लिए Chrome डेवलपर टूल के बारे में नि: शुल्क और बहुत ही दिलचस्प कोर्स के साथ।
  • कोडेक अकादमी : HTML, सीएसएस, जावास्क्रिप्ट, jQuery और PHP के बारे में नि: शुल्क पाठ्यक्रमों के साथ जिनका आप ऑनलाइन उदाहरणों के साथ अनुसरण कर सकते हैं।
  • 10gen शिक्षा : अलग-अलग भाषाओं के लिए ट्यूटोरियल में MongoDB के बारे में आपको जो कुछ भी जानना है।
  • W3Schools : इस एक के पास इस सब के बारे में ट्यूटोरियल हैं और आप इसे एक संदर्भ स्थान के रूप में उपयोग कर सकते हैं क्योंकि इसमें बहुत अधिक शोर्टकोड हैं जो वास्तव में उपयोगी हैं।
  • उदारण : वेब विकास और मेरे पसंदीदा, जावास्क्रिप्ट के साथ 3 डी ग्राफिक्स के लिए एक अद्भुत वेबगेल कोर्स के बारे में कुछ दिलचस्प लोगों के साथ विभिन्न विषयों के बारे में मुफ्त वीडियो पाठ्यक्रमों के साथ एक जगह।

मुझे उम्मीद है कि यह आपको शुरू करने में मदद करता है।

मज़े करो!


मैकेनिकों को समझाते हुए अच्छा विस्तृत उत्तर।
डुआने

धन्यवाद :) मैंने समस्या को हल करने के लिए जवाब के अंत में एक अपडेट जोड़ा है। आप "mysql" नामक लाइब्रेरी के साथ एक नोड सर्वर का उपयोग कर सकते हैं, और मैंने एक एपीआई जनरेटर के लिए एक लिंक जोड़ा है जो मैंने बनाया है कि आप एक नया एपीआई प्रोजेक्ट शुरू करने के लिए उपयोग कर सकते हैं। आशा करता हूँ की ये काम करेगा।
टिमबर्गस

पुन: "तब": जावास्क्रिप्ट का उपयोग सर्वर-साइड 1995 में होता है, जब इसे नेटस्केप एंटरप्राइज सर्वर में शामिल किया गया था। Microsoft ने इसके बाद अपने IIS सर्वर में "JScript" डाल दिया। सर्वर पर जावास्क्रिप्ट दूरस्थ रूप से, नया नहीं है।
टीजे क्राउडर

मुझे लगता है कि यह अच्छा होगा यदि इस उत्तर में सबसे ऊपर नवीनतम जानकारी थी या पुरानी पुरानी जानकारी को हटा दें। यह थोड़ी क्रियात्मक भी है और विशेष भाषाओं पर केंद्रित है। संक्षिप्त उत्तर यह है कि जावास्क्रिप्ट का उपयोग सीधे Node.JS (या अन्य सर्वर-साइड रनटाइम वातावरण) से MySQL डेटाबेस से कनेक्ट करने के लिए किया जा सकता है, लेकिन ब्राउज़र से जानबूझकर सुरक्षा के कारण नहीं।
कलस्टर

8

मुझे लगता है कि आपको समीकरण में PHP जैसी कुछ जोड़ने की आवश्यकता होगी। PHP डेटाबेस के साथ बातचीत करने के लिए और फिर आप जावास्क्रिप्ट के साथ AJAX कॉल कर सकते हैं।


8

थोड़ा देर से लेकिन हाल ही में मुझे पता चला है कि MySql 5.7 को http प्लगइन throuh मिला है जो उपयोगकर्ता सीधे mysql से जुड़ सकता है।

Mysql 5.7 के लिए Http क्लाइंट की तलाश करें


7

सरल उत्तर है: नहीं।

जावास्क्रिप्ट एक क्लाइंट-साइड भाषा है जो ब्राउज़र में चलती है ( नोड.जेएस के बावजूद) और MySQL एक सर्वर-साइड तकनीक है जो सर्वर पर चलती है।

इसका मतलब है कि आप आमतौर पर डेटाबेस से कनेक्ट करने के लिए ASP.NET या PHP जैसी सर्वर-साइड भाषा का उपयोग करते हैं।


जावास्क्रिप्ट (क्लाइंट-साइड, ब्राउज़र फॉर्म में) सर्वर पर चलने वाली सर्वर-साइड तकनीकों (Apache, Nginx, PHP, NodeJS, आदि) से जुड़ने के लिए हर दिन उपयोग किया जाता है। सर्वर / क्लाइंट की बहुत परिभाषा के लिए आवश्यक है कि उनके बीच का "विभाजन" सरगम ​​हो।
जेटीयन

6

हाँ? देखो एक उल्का है। लिंक:

http://meteor.com/screencast और http://net.tutsplus.com/tutorials/javascript-ajax/whats-this-meteor-thing/

मुझे समझ नहीं आता कि यह कैसे किया जाता है। लेकिन नेट्टट्स + ने इस चीज़ को जावास्क्रिप्ट-अजाक्स अनुभाग में रखा, शायद जादू होता है।

यह जेएस के साथ MongoDB को जोड़ने और सम्मिलित करने का कुछ तरीका भी दिखाता है, जैसे:

Products.insert({Name : "Hammer", Price : 4.50, InStock : true});
Products.insert({Name : "Wrench", Price : 2.70, InStock : true});
Products.insert({Name : "Screw Driver", Price : 3.00, InStock : false});
Products.insert({Name : "Drill", Price : 5.25, InStock : true});

1
"आप सर्वर-साइड डेटाबेस ड्राइवर और / या क्लाइंट-साइड कैश प्रदान करके एक अन्य डेटाबेस का विकल्प चुन सकते हैं जो वैकल्पिक एपीआई को लागू करता है। इस तरह की परियोजना के लिए मोंगो-लिवटा एक अच्छा प्रारंभिक बिंदु है।" - docs.meteor.com
लीजी

उल्का को Node.js का उपयोग करते हुए लिखा गया था, इसलिए मुझे डर है कि यह उत्तर कुछ नया या चीजें नहीं जोड़ता है। आपके पास बस एक ढांचा है जो क्लाइंट और सर्वर को कवर करता है।
कलस्टर

4

अपने वातावरण के आधार पर, आप ऐसा करने के लिए राइनो का उपयोग कर सकते हैं, राइनो वेबसाइट देखें । यह आपको जावास्क्रिप्ट के भीतर से सभी जावा पुस्तकालयों तक पहुंच प्रदान करता है।


4

हाँ। MySQL के लिए एक HTTP प्लगइन है।

http://blog.ulf-wendel.de/2014/mysql-5-7-http-plugin-mysql/

मैं अभी इसके बारे में गुगली कर रहा हूं, जो मुझे इस स्टैकओवरफ्लो प्रश्न की ओर ले गया। आपको अभी या निकट भविष्य में AJAX के एक MySQL डेटाबेस में सक्षम होना चाहिए (उनका दावा है कि यह उत्पादन के लिए तैयार नहीं है)।


2

आमतौर पर, आपको MySQL से जुड़ने के लिए PHP जैसी सर्वर साइड स्क्रिप्टिंग लैंग्वेज की आवश्यकता होती है, हालाँकि, यदि आप सिर्फ एक त्वरित मॉकअप कर रहे हैं, तो आप जावास्क्रिप्ट का उपयोग कर सकते हैं http://www.mysqljs.com को जावास्क्रिप्ट का उपयोग करके MySQL से जावास्क्रिप्ट के रूप में कोड के रूप में कनेक्ट करें इस प्रकार है:

MySql.Execute(
    "mysql.yourhost.com", 
    "username", 
    "password", 
    "database", 
    "select * from Users", 
    function (data) {
        console.log(data)
});

यह उल्लेख किया जाना चाहिए कि यह MySql तक पहुंचने का एक सुरक्षित तरीका नहीं है, और केवल निजी डेमो के लिए उपयुक्त है, या परिदृश्य कोड के अंत उपयोगकर्ताओं द्वारा एक्सेस नहीं किया जा सकता है, जैसे कि फोनगैप आईओएस ऐप के भीतर।


एक त्वरित निरीक्षण के बाद, यह उस स्क्रिप्ट पर लाइन 6 द्वारा देखे गए डेटाबेस क्रेडेंशियल्स को चोरी करने का खतरा पैदा करता है जिसमें कहा गया हैvar strSrc = "http://mysqljs.com/sql.aspx?";
ड्रैगस

@ दरागस - यह सही है। जावास्क्रिप्ट में mysql डेटाबेस से जुड़ने का कोई मूल तरीका नहीं है, इसलिए mysql dll को सर्वर-साइड होस्ट किया गया है, इसलिए AJAX कॉल है। इसका यह भी अर्थ है कि यदि आप पोर्ट 3306 पर फ़ायरवॉल का उपयोग कर रहे हैं, तो आपको इसे mysqljs.com से आने वाले कनेक्शन के लिए खोलना होगा
Fiach Reid


1

हाँ तुम कर सकते हो। MySQL कनेक्टर कनेक्शन के लिए टीसीपी का उपयोग करते हैं, और जेएस में टीसीएस क्लाइंट का थोड़ा संशोधित संस्करण है जिसे वेबसोकेट कहा जाता है। लेकिन आप सीधे WebSQL के साथ MySQL सर्वर से कनेक्ट नहीं कर सकते। आपको वेबसैट और mysql के बीच कुछ 3rd पार्टी ब्रिज की आवश्यकता होगी। यह वेबस्कैट से क्वेरी प्राप्त करता है, इसे mysql, प्रतिक्रिया परिणाम और JS को भेजें।

और यह मेरा उदाहरण पुल है जिसमें वेब # के साथ सी-लाइब्रेरी लिखा गया है:

class JSQLBridge : WebSocketBehavior
{
    MySqlConnection conn;

    protected override void OnMessage(MessageEventArgs e)
    {
        if (conn == null)
        {
            try
            {
                conn = new MySqlConnection(e.Data);
                conn.Open();
            }
            catch (Exception exc)
            {
                Send(exc.Message);
            }
        }
        else
        {
            try
            {
                MySqlCommand cmd = new MySqlCommand(e.Data, conn);
                cmd.ExecuteNonQuery();
                Send("success");
            }
            catch (Exception exc)
            {
                Send(exc.Message);
            }
        }
    }

    protected override void OnClose(CloseEventArgs e)
    {
        if (conn != null)
            conn.Close();
    }
}

जेएस पक्ष:

var ws = new WebSocket("ws://localhost/");

ws.send("server=localhost;user=root;database=mydb;");

ws.send("select * from users");

0

नहीं।

आपको PHP में एक आवरण लिखने की जरूरत है, और फिर लौटाए गए डेटा (शायद Json) के रूप में निर्यात करें। कभी भी, अपने "_GET" एसक्यूएल कोड से प्राप्त न करें, क्योंकि इसे एसक्यूएल इंजेक्शन कहा जाता है (जो लोग इसे सीखते हैं, उनका आपके डेटाबेस पर पूरा नियंत्रण होगा)।

यह एक उदाहरण मैंने लिखा है:

function getJsonData()
{
        global $db;
        if (!$db->isConnected()) {
               return "Not connected";
        }
        $db->query("SELECT * FROM entries");
        $values = array();
        while( $v = $db->fetchAssoc()){
                $values[] = $v;
        }
        return json_encode($values);    
}

switch (@$_GET["cmd"]){
        case 'data':
                print getJsonData();
                exit;

        default:
                print getMainScreen();
                exit; 
}

कृपया SQL इंजेक्शन के बारे में जानें।


0

आप जावास्क्रिप्ट से JAVA एप्लेट के माध्यम से MySQL से जुड़ सकते हैं। JAVA ऐपलेट MySQL के लिए JDBC ड्राइवर को एम्बेड करेगा जो आपको MySQL से कनेक्ट करने की अनुमति देगा।

याद रखें कि यदि आप एक दूरस्थ MySQL सर्वर से कनेक्ट करना चाहते हैं (आपके द्वारा एप्लेट को डाउनलोड करने के अलावा अन्य) आपको उपयोगकर्ताओं को एप्लेट पर विस्तारित अनुमति देने के लिए पूछना होगा। डिफ़ॉल्ट रूप से, एप्लेट केवल उस सर्वर से जुड़ सकता है जिसे वे डाउनलोड करते हैं।


0

यदि आप MySQL पर लॉक नहीं हैं, तो आप PostgreSQL पर स्विच कर सकते हैं। यह डेटाबेस के अंदर जावास्क्रिप्ट प्रक्रियाओं (PL / V8) का समर्थन करता है। यह बहुत तेज और शक्तिशाली है। इस पोस्ट को चेकआउट करें ।


0

जावास्क्रिप्ट आवश्यक डेटा प्राप्त करने के लिए सीधे DB से कनेक्ट नहीं कर सकता है लेकिन आप AJAX का उपयोग कर सकते हैं। सर्वर के लिए आसान AJAX अनुरोध करने के लिए आप jQuery JS फ्रेमवर्क http://jquery.com का उपयोग कर सकते हैं । यहाँ एक छोटा सा उदाहरण है

जे एस:

jQuery.ajax({
type: "GET",
dataType: "json",
url: '/ajax/usergroups/filters.php',
data: "controller=" + controller + "&view=" + view,
success: function(json)
{
    alert(json.first);
    alert(json.second);
});

पीएचपी:

$out = array(); 

// mysql connection and select query
$conn = new mysqli($servername, $username, $password, $dbname);


try {
  die("Connection failed: " . $conn->connect_error);

  $sql = "SELECT * FROM [table_name] WHERE condition = [conditions]";
  $result = $conn->query($sql);

if ($result->num_rows > 0) {
  // output data of each row
  while($row = $result->fetch_assoc()) {
    $out[] = [
       'field1' => $row["field1"],
       'field2' => $row["field2"]
    ];
  }
} else {
  echo "0 results";
}

} catch(Exception $e) {
  echo "Error: " . $e->getMessage();
}
    echo json_encode($out);

1
इस उदाहरण में MySQL क्वेरी कहाँ है?
माइकल

@ मिचेल: शानदार सवाल।
कॉनर

-1

मुझे आपका प्रश्न समझ में आया कि मुझे लगता है कि आप इसे dot.net और जावा जैसी भाषाओं के साथ भ्रमित कर रहे हैं जहाँ आप अपने कोड के भीतर DB कनेक्शन खोल सकते हैं। नहीं, जावास्क्रिप्ट सीधे MySQL से कनेक्ट नहीं हो सकता क्योंकि जावास्क्रिप्ट एक क्लाइंट साइड स्क्रिप्टिंग लैंग्वेज (अपवाद Node.js) है। डेटा एक्सेस करने के लिए आपको Restful API जैसी मध्यम परत की आवश्यकता होगी।


-3

आप PHP फ़ाइल का उपयोग करके mysql कनेक्शन जोड़ सकते हैं। नीचे PHP फ़ाइल का उदाहरण है।

<?php
   $con = mysql_connect('localhost:3306', 'dbusername', 'dbpsw');
   mysql_select_db("(dbname)", $con);

   $sql="SELECT * FROM table_name";

   $result = mysql_query($sql);

   echo " <table border='1'>
   <tr>
   <th>Header of Table name</th>
   </tr>";

   while($row = mysql_fetch_array($result))
   {
     echo "<tr>";
     echo "<td>" . $row['(database_column_name)'] . "</td>";
     echo "<td>" . $row['database_column_name'] . "</td>";
     echo "</tr>";
    }
    echo "</table>";
    mysql_close($con);
   ?> }

दरअसल, इसका जवाब नहीं है। सवाल था Can JavaScript connect with MySQL?
एलेक्स।

यह पूछे गए प्रश्न के लिए शून्य प्रतिशत प्रासंगिक है। प्रश्न का लेखक जावास्क्रिप्ट के बारे में बहुत विशिष्ट है।
geekgugi
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.