क्या जावास्क्रिप्ट MySQL से जुड़ सकता है? यदि हां, तो कैसे?
क्या जावास्क्रिप्ट MySQL से जुड़ सकता है? यदि हां, तो कैसे?
जवाबों:
नहीं, जावास्क्रिप्ट सीधे MySQL से कनेक्ट नहीं हो सकता है। लेकिन आप ऐसा करने के लिए JS को PHP के साथ मिला सकते हैं।
जावास्क्रिप्ट एक क्लाइंट-साइड भाषा है और आपका MySQL डेटाबेस सर्वर पर चलने वाला है
क्लाइंट-साइड जावास्क्रिप्ट कुछ प्रकार के पुल के बिना MySQL तक नहीं पहुंच सकता है। लेकिन उपरोक्त बोल्ड स्टेटमेंट कि जावास्क्रिप्ट सिर्फ एक क्लाइंट-साइड भाषा गलत है - जावास्क्रिप्ट क्लाइंट-साइड और सर्वर-साइड चला सकते हैं, जैसा कि Node.js.
Node.js https://github.com/sidorares/node-mysql2 जैसी किसी चीज़ के माध्यम से MySQL तक पहुँच सकते हैं
आप Socket.IO का उपयोग करके भी कुछ विकसित कर सकते हैं
क्या आपका मतलब यह पूछने का है कि क्लाइंट-साइड JS ऐप MySQL तक पहुँच सकता है? मुझे यकीन नहीं है कि ऐसे पुस्तकालय मौजूद हैं, लेकिन वे संभव हैं।
संपादित करें : लेखन के बाद से, अब हमारे पास MySQL क्लस्टर है :
Node.js के लिए MySQL क्लस्टर जावास्क्रिप्ट ड्राइवर सिर्फ ऐसा लगता है जैसे यह है - यह एक कनेक्टर है जिसे आपके जावास्क्रिप्ट कोड से सीधे कॉल किया जा सकता है ताकि आप अपना डेटा पढ़ सकें और लिख सकें। चूंकि यह डेटा नोड्स को सीधे एक्सेस करता है, इसलिए MySQL सर्वर से गुजरने से कोई अतिरिक्त विलंबता नहीं होती है और जावास्क्रिप्ट कोड // ऑब्जेक्ट्स को SQL ऑपरेशन में बदलने की आवश्यकता होती है। यदि किसी कारण से, आप इसे MySQL सर्वर से गुजरना पसंद करेंगे (उदाहरण के लिए यदि आप InnoDB में टेबल स्टोर कर रहे हैं) तो इसे कॉन्फ़िगर किया जा सकता है।
JSDB DB को JS इंटरफ़ेस प्रदान करता है।
Sindresorhus से Node.js के लिए DB पैकेजों का एक क्यूरेट सेट ।
यदि आप जावास्क्रिप्ट का उपयोग करके MySQL डेटाबेस से कनेक्ट करना चाहते हैं, तो आप Node.js और mysql नामक लाइब्रेरी का उपयोग कर सकते हैं । आप प्रश्न बना सकते हैं, और रजिस्टर की एक सरणी के रूप में परिणाम प्राप्त कर सकते हैं। यदि आप इसे आज़माना चाहते हैं, तो आप बैकएंड बनाने और कनेक्ट करने के लिए डेटाबेस के रूप में MySQL चुनने के लिए मेरे प्रोजेक्ट जनरेटर का उपयोग कर सकते हैं। फिर, बस अपने नए REST API या GraphQL के समापन बिंदु को अपने सामने उजागर करें और अपने MySQL डेटाबेस के साथ काम करना शुरू करें।
NOSTALGIA द्वारा पुराने उत्तर छोड़ दिया
फिर
जैसा कि मैंने प्रश्न को समझा और मुझे सही किया अगर मैं गलत हूं, तो यह क्लाइंट के पक्ष में केवल जावास्क्रिप्ट के साथ क्लासिक सर्वर मॉडल को संदर्भित करता है। इस क्लासिक मॉडल में, LAMP सर्वर (लिनक्स, अपाचे, MySQL, PHP) के साथ डेटाबेस के संपर्क में भाषा PHP थी, इसलिए डेटाबेस में डेटा का अनुरोध करने के लिए आपको PHP स्क्रिप्ट लिखने और क्लाइंट को रिटर्निंग डेटा इको करने की आवश्यकता होती है। असल में, भौतिक मशीनों के अनुसार भाषाओं का वितरण था:
इसका जवाब एक एमवीसी मॉडल (मॉडल, व्यू, कंट्रोलर) से मिलता है, जहां हमारी निम्नलिखित कार्यक्षमता थी:
नियंत्रक के लिए, हम की तरह वास्तव में दिलचस्प उपकरण है jQuery , के रूप में "निम्न स्तर के" पुस्तकालय HTML संरचना (डोम) को नियंत्रित करने के, और फिर नया, अधिक के रूप में उच्च स्तर के लोगों Knockout.js कि हमें पर्यवेक्षकों बनाने की अनुमति है कि कनेक्ट अलग जब घटनाएँ होती हैं तो DOM तत्व उन्हें अपडेट करते हैं। Google द्वारा Angular.js भी है जो एक समान तरीके से काम करता है, लेकिन एक संपूर्ण वातावरण लगता है। उनके बीच चयन करने में आपकी मदद करने के लिए, यहां आपके पास दो उपकरणों के दो उत्कृष्ट विश्लेषण हैं: नॉकआउट बनाम एंगुलर।जेएस और नॉकआउट। जेएस बनाम एंगुलर । जेएस । मैं अभी भी पढ़ रहा हूं। आशा है कि वे आपकी मदद करेंगे।
अभी
Node.js में स्थित आधुनिक सर्वरों में, हम हर चीज के लिए जावास्क्रिप्ट का उपयोग करते हैं। Node.js एक जावास्क्रिप्ट वातावरण है जिसमें कई पुस्तकालय हैं जो Google V8, क्रोम जावास्क्रिप्ट इंजन के साथ काम करते हैं। जिस तरह से हम इन नए सर्वरों के साथ काम करते हैं:
फिर हमारे पास बहुत सारे पैकेज हैं जिन्हें हम NPM (Node.js पैकेज मैनेजर) का उपयोग करके इंस्टॉल कर सकते हैं और उन्हें सीधे हमारे Node.js सर्वर में उपयोग कर सकते हैं, बस इसके लिए आपको (उन लोगों के लिए जो Node.js सीखना चाहते हैं, इस शुरुआती ट्यूटोरियल को आज़माएँ । अवलोकन के लिए)। और इन पैकेजों में, आपके पास डेटाबेस तक पहुंचने के लिए उनमें से कुछ हैं। इसका उपयोग करके आप My SQL डेटाबेस तक पहुँचने के लिए सर्वर-साइड पर जावास्क्रिप्ट का उपयोग कर सकते हैं।
लेकिन अगर आप Node.js के साथ काम करने जा रहे हैं तो सबसे अच्छा आप JSON फ़ाइलों के आधार पर MongoDB जैसे नए NoSQL डेटाबेस का उपयोग करना है । MySQL जैसी तालिकाओं को संग्रहीत करने के बजाय, यह JSON संरचनाओं में डेटा संग्रहीत करता है, इसलिए आप प्रत्येक संरचना के अंदर अलग-अलग डेटा डाल सकते हैं जैसे कि सबसे बड़े एक के आकार के लिए विशाल तालिकाओं को बनाने के बजाय लंबे संख्यात्मक वैक्टर।
मुझे उम्मीद है कि यह संक्षिप्त व्याख्या आपके लिए उपयोगी हो सकती है, और यदि आप इसके बारे में अधिक जानना चाहते हैं, तो यहां आपके पास कुछ संसाधन हैं जिनका आप उपयोग कर सकते हैं:
मुझे उम्मीद है कि यह आपको शुरू करने में मदद करता है।
मज़े करो!
थोड़ा देर से लेकिन हाल ही में मुझे पता चला है कि MySql 5.7 को http प्लगइन throuh मिला है जो उपयोगकर्ता सीधे mysql से जुड़ सकता है।
Mysql 5.7 के लिए Http क्लाइंट की तलाश करें
सरल उत्तर है: नहीं।
जावास्क्रिप्ट एक क्लाइंट-साइड भाषा है जो ब्राउज़र में चलती है ( नोड.जेएस के बावजूद) और MySQL एक सर्वर-साइड तकनीक है जो सर्वर पर चलती है।
इसका मतलब है कि आप आमतौर पर डेटाबेस से कनेक्ट करने के लिए ASP.NET या PHP जैसी सर्वर-साइड भाषा का उपयोग करते हैं।
हाँ? देखो एक उल्का है। लिंक:
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});
अपने वातावरण के आधार पर, आप ऐसा करने के लिए राइनो का उपयोग कर सकते हैं, राइनो वेबसाइट देखें । यह आपको जावास्क्रिप्ट के भीतर से सभी जावा पुस्तकालयों तक पहुंच प्रदान करता है।
हाँ। MySQL के लिए एक HTTP प्लगइन है।
http://blog.ulf-wendel.de/2014/mysql-5-7-http-plugin-mysql/
मैं अभी इसके बारे में गुगली कर रहा हूं, जो मुझे इस स्टैकओवरफ्लो प्रश्न की ओर ले गया। आपको अभी या निकट भविष्य में AJAX के एक MySQL डेटाबेस में सक्षम होना चाहिए (उनका दावा है कि यह उत्पादन के लिए तैयार नहीं है)।
आमतौर पर, आपको MySQL से जुड़ने के लिए PHP जैसी सर्वर साइड स्क्रिप्टिंग लैंग्वेज की आवश्यकता होती है, हालाँकि, यदि आप सिर्फ एक त्वरित मॉकअप कर रहे हैं, तो आप जावास्क्रिप्ट का उपयोग कर सकते हैं http://www.mysqljs.com को जावास्क्रिप्ट का उपयोग करके MySQL से जावास्क्रिप्ट के रूप में कोड के रूप में कनेक्ट करें इस प्रकार है:
MySql.Execute(
"mysql.yourhost.com",
"username",
"password",
"database",
"select * from Users",
function (data) {
console.log(data)
});
यह उल्लेख किया जाना चाहिए कि यह MySql तक पहुंचने का एक सुरक्षित तरीका नहीं है, और केवल निजी डेमो के लिए उपयुक्त है, या परिदृश्य कोड के अंत उपयोगकर्ताओं द्वारा एक्सेस नहीं किया जा सकता है, जैसे कि फोनगैप आईओएस ऐप के भीतर।
var strSrc = "http://mysqljs.com/sql.aspx?";
आप इस तरह के रूप में MySQL के लिए कुछ सर्वर साइड RESTful रैपर, करने के लिए AJAX अनुरोध भेज सकते हैं DBSlayer , PhpRestSQL या AlsoSQL (के लिए बूंदा बांदी , MySQL के एक कांटा)।
हाँ तुम कर सकते हो। 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");
नहीं।
आपको 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 इंजेक्शन के बारे में जानें।
आप जावास्क्रिप्ट से JAVA एप्लेट के माध्यम से MySQL से जुड़ सकते हैं। JAVA ऐपलेट MySQL के लिए JDBC ड्राइवर को एम्बेड करेगा जो आपको MySQL से कनेक्ट करने की अनुमति देगा।
याद रखें कि यदि आप एक दूरस्थ MySQL सर्वर से कनेक्ट करना चाहते हैं (आपके द्वारा एप्लेट को डाउनलोड करने के अलावा अन्य) आपको उपयोगकर्ताओं को एप्लेट पर विस्तारित अनुमति देने के लिए पूछना होगा। डिफ़ॉल्ट रूप से, एप्लेट केवल उस सर्वर से जुड़ सकता है जिसे वे डाउनलोड करते हैं।
जावास्क्रिप्ट आवश्यक डेटा प्राप्त करने के लिए सीधे 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);
मुझे आपका प्रश्न समझ में आया कि मुझे लगता है कि आप इसे dot.net और जावा जैसी भाषाओं के साथ भ्रमित कर रहे हैं जहाँ आप अपने कोड के भीतर DB कनेक्शन खोल सकते हैं। नहीं, जावास्क्रिप्ट सीधे MySQL से कनेक्ट नहीं हो सकता क्योंकि जावास्क्रिप्ट एक क्लाइंट साइड स्क्रिप्टिंग लैंग्वेज (अपवाद Node.js) है। डेटा एक्सेस करने के लिए आपको Restful API जैसी मध्यम परत की आवश्यकता होगी।
आप 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?
।