জাভাস্ক্রিপ্ট মাইএসকিউএল এর সাথে সংযুক্ত হতে পারে? যদি তাই হয়, কিভাবে?
জাভাস্ক্রিপ্ট মাইএসকিউএল এর সাথে সংযুক্ত হতে পারে? যদি তাই হয়, কিভাবে?
উত্তর:
না, জাভাস্ক্রিপ্ট সরাসরি মাইএসকিউএলে কানেক্ট করতে পারে না। তবে আপনি এটি করতে পিএইচপি এর সাথে জেএস মিশ্রণ করতে পারেন।
জাভাস্ক্রিপ্ট একটি ক্লায়েন্ট-পাশের ভাষা এবং আপনার মাইএসকিউএল ডাটাবেসটি একটি সার্ভারে চলছে
ক্লায়েন্ট-সাইড জাভাস্ক্রিপ্ট কোনও ধরণের ব্রিজ ছাড়া মাইএসকিউএল অ্যাক্সেস করতে পারে না। তবে উপরের সাহসী বক্তব্যগুলি যে জাভাস্ক্রিপ্ট কেবল ক্লায়েন্ট-সাইডের ভাষাই ভুল - জাভাস্ক্রিপ্ট ক্লায়েন্ট-সাইড এবং সার্ভার-সাইড চালাতে পারে, নোড.জেএস এর মতো as
নোড.জেএস https://github.com/sidorares/node-mysql2 এর মতো কিছু মাধ্যমে মাইএসকিউএল অ্যাক্সেস করতে পারে
আপনি সকেট.আইও ব্যবহার করে কিছু বিকাশ করতে পারেন
আপনার ক্লায়েন্ট-সাইড জেএস অ্যাপটি মাইএসকিউএল অ্যাক্সেস করতে পারে কিনা তা জিজ্ঞাসা করার অর্থ কি? এ ধরণের গ্রন্থাগার রয়েছে কিনা তা আমি নিশ্চিত নই, তবে সেগুলি সম্ভব are
সম্পাদনা : লেখার পর থেকে আমাদের এখন মাইএসকিউএল ক্লাস্টার রয়েছে :
নোড.জেএস এর জন্য মাইএসকিউএল ক্লাস্টার জাভাস্ক্রিপ্ট ড্রাইভারটি ঠিক যা মনে হচ্ছে তা হ'ল - এটি এমন একটি সংযোগকারী যা আপনার জাভাস্ক্রিপ্ট কোড থেকে সরাসরি আপনার ডেটা পড়তে এবং লিখতে বলা যেতে পারে। যেহেতু এটি সরাসরি ডেটা নোডগুলিতে সরাসরি অ্যাক্সেস করে, মাইএসকিউএল সার্ভারের মধ্য দিয়ে যাওয়ার কোনও অতিরিক্ত বিলম্ব হয় না এবং জাভাস্ক্রিপ্ট কোড // অবজেক্ট থেকে এসকিউএল ক্রিয়ায় রূপান্তর করতে হবে। যদি কোনও কারণে, আপনি এটি কোনও মাইএসকিউএল সার্ভারের মাধ্যমে যেতে পছন্দ করেন (উদাহরণস্বরূপ আপনি যদি ইনোডিবিতে টেবিলগুলি সংরক্ষণ করছেন) তবে তা কনফিগার করা যায়।
জেএসডিবি ডিবিগুলিকে জেএস ইন্টারফেস সরবরাহ করে।
সিন্ড্রেসরাস থেকে নোড.জেএস এর জন্য ডিবি প্যাকেজগুলির একটি সংকলিত সেট ।
জাভাস্ক্রিপ্ট ব্যবহার করে একটি MySQL ডেটাবেস সংযোগ করতে চান, আপনি Node.js এবং একটি লাইব্রেরি নামক ব্যবহার করতে পারেন MySQL । আপনি অনুসন্ধান তৈরি করতে এবং নিবন্ধকের অ্যারে হিসাবে ফলাফল পেতে পারেন। আপনি যদি এটি চেষ্টা করতে চান তবে আপনি আমার প্রজেক্ট জেনারেটরটি একটি ব্যাকএন্ড তৈরি করতে এবং সংযোগের জন্য ডাটাবেস হিসাবে মাইএসকিউএল চয়ন করতে পারেন । তারপরে, কেবলমাত্র আপনার নতুন REST API বা গ্রাফকিউএল এন্ডপয়েন্টটি আপনার সামনে প্রকাশ করুন এবং আপনার মাইএসকিউএল ডাটাবেস দিয়ে কাজ শুরু করুন start
নস্টালজিয়া দ্বারা পুরানো উত্তর বামে
তাহলে
যেহেতু আমি প্রশ্নটি বুঝতে পেরেছি এবং যদি আমার ভুল হয় তবে আমাকে সংশোধন করে, এটি কেবল ক্লায়েন্ট-সাইডে জাভাস্ক্রিপ্ট সহ ক্লাসিক সার্ভার মডেলকে বোঝায়। এই ক্লাসিক মডেলে, এলএএমপি সার্ভারের সাথে (লিনাক্স, অ্যাপাচি, মাইএসকিউএল, পিএইচপি) ডাটাবেসের সংস্পর্শে থাকা ভাষাটি পিএইচপি ছিল, সুতরাং আপনাকে পিএইচপি স্ক্রিপ্টগুলি লিখতে হবে এবং ক্লায়েন্টের কাছে ফিরে আসা ডেটা প্রতিধ্বনি করতে হবে এমন ডাটাবেসে ডেটা অনুরোধ করতে হবে । মূলত, শারীরিক মেশিন অনুযায়ী ভাষাগুলির বিতরণ ছিল:
এটি এমভিসি মডেলের (মডেল, ভিউ, কন্ট্রোলার) জবাব দিয়েছে যেখানে আমাদের নিম্নলিখিত কার্যকারিতা ছিল:
কন্ট্রোলারের জন্য, আমাদের কাছে সত্যিকারের আকর্ষণীয় সরঞ্জাম রয়েছে jQuery এর মতো , এইচটিএমএল স্ট্রাকচার (ডিওএম) নিয়ন্ত্রণের জন্য "নিম্ন-স্তরের" গ্রন্থাগার হিসাবে এবং তারপরে নতুন, আরও উচ্চ-স্তরের একটি নকআউট.জেএস হিসাবে আমাদের আলাদা আলাদা সংযোগকারী পর্যবেক্ষক তৈরি করার অনুমতি দেয় us ঘটনা ঘটলে ডোম উপাদানগুলি সেগুলি আপডেট করে। গুগলের আঙ্গুলার.জেগুলিও রয়েছে যা একইভাবে কাজ করে তবে এটি একটি সম্পূর্ণ পরিবেশ বলে মনে হয়। তাদের মধ্যে বাছাই করতে আপনাকে সহায়তা করার জন্য, এখানে আপনার কাছে দুটি সরঞ্জামের দুটি দুর্দান্ত বিশ্লেষণ রয়েছে: নকআউট বনাম অ্যাঙ্গুলার.জেএস এবং নকআউট.জেএস বনাম অ্যাঙ্গুলার.জেএস । আমি এখনও পড়ছি। তারা আপনাকে সাহায্য আশা করি।
এখন
নোড.জেএস ভিত্তিক আধুনিক সার্ভারগুলিতে আমরা সব কিছুর জন্য জাভাস্ক্রিপ্ট ব্যবহার করি। নোড.জেএস গুগল ভি 8, ক্রোম জাভাস্ক্রিপ্ট ইঞ্জিন সহ অনেক লাইব্রেরি সহ একটি জাভাস্ক্রিপ্ট পরিবেশ। এই নতুন সার্ভারগুলির সাথে আমরা যেভাবে কাজ করব তা হ'ল:
তারপরে আমাদের কাছে প্রচুর প্যাকেজ রয়েছে যা আমরা এনপিএম (নোড.জেএস প্যাকেজ ম্যানেজার) ব্যবহার করে ইনস্টল করতে পারি এবং সেগুলি কেবল আমাদের নোড.জেএস সার্ভারে এটি ব্যবহারের জন্য সরাসরি ব্যবহার করতে পারি (আপনারা যারা নোড.জেএস শিখতে চান তাদের জন্য, এই শিক্ষানবিশ টিউটোরিয়ালটি ব্যবহার করে দেখুন একটি ওভারভিউ জন্য)। এবং এই প্যাকেজগুলির মধ্যে আপনার কাছে ডেটাবেস অ্যাক্সেস করার কিছু রয়েছে। এটি ব্যবহার করে আপনি আমার এসকিউএল ডাটাবেসগুলি অ্যাক্সেস করতে সার্ভার-সাইডে জাভাস্ক্রিপ্ট ব্যবহার করতে পারেন।
কিন্তু সেরা যদি আপনি Node.js সঙ্গে কাজ করতে যাচ্ছি আপনি কি করতে পারেন মত নতুন NoSQL ডাটাবেস ব্যবহার করা MongoDB , তাদেরকে JSON ফাইল উপর ভিত্তি করে। মাইএসকিউএল এর মতো সারণীগুলি সংরক্ষণ করার পরিবর্তে এটি জেএসওএন স্ট্রাকচারগুলিতে ডেটা সঞ্চয় করে, তাই আপনি প্রতিটি কাঠামোর ভিতরে লম্বা সংখ্যক ভেক্টরগুলির মতো বিভিন্ন ডেটা সর্বাধিক আকারের আকারের জন্য বিশাল টেবিল তৈরি করতে পারেন put
আমি আশা করি যে এই সংক্ষিপ্ত বিবরণটি আপনার পক্ষে দরকারী হয়ে উঠেছে এবং আপনি যদি এ সম্পর্কে আরও জানতে চান তবে এখানে আপনার কাছে কিছু সংস্থান রয়েছে যা আপনি ব্যবহার করতে পারেন:
আমি আশা করি এটি আপনাকে শুরু করতে সহায়তা করে।
আনন্দ কর!
বিট দেরিতে তবে সম্প্রতি আমি জানতে পেরেছি যে মাইএসকিউএল ৫.7 এ এইচটিসি প্লাগইন পেয়েছে যা ব্যবহারকারী এখন সরাসরি মাইএসকিএল-এ সংযোগ করতে পারবেন।
Mysql 5.7 এর জন্য এইচটিপিপি ক্লায়েন্ট সন্ধান করুন
সহজ উত্তর: না।
জাভাস্ক্রিপ্ট হ'ল একটি ক্লায়েন্ট-সাইড ল্যাঙ্গুয়েজ যা ব্রাউজারে চালিত হয় ( node.js সত্ত্বেও) এবং মাইএসকিউএল একটি সার্ভার-সাইড প্রযুক্তি যা সার্ভারে চলমান।
এর অর্থ আপনি সাধারণত ডাটাবেসের সাথে সংযোগ রাখতে ASP.NET বা PHP এর মতো একটি সার্ভার-সাইড ভাষা ব্যবহার করেন।
হ্যাঁ? একটি উল্কা চেহারা। লিঙ্ক:
http://meteor.com/screencast এবং http://net.tutsplus.com / টিউটোরিয়ালস / জাভাস্ক্রিপ্ট- ajax / whats-this-meteor-thing/
কীভাবে এটি করা হয় তা আমি বুঝতে পারি না। কিন্তু নেটটস + এই জিনিসটিকে জাভাস্ক্রিপ্ট-এজাক্স বিভাগে রেখেছেন, সম্ভবত যাদু ঘটে।
এটি জেএসের সাথে মঙ্গোডিবিতে সংযোগ স্থাপন এবং সন্নিবেশ করার কিছু উপায়ও দেখায়:
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});
আপনার পরিবেশের উপর নির্ভর করে আপনি এটি করতে রাইনো ব্যবহার করতে পারেন, রাইনো ওয়েবসাইটটি দেখুন । এটি আপনাকে জাভাস্ক্রিপ্টের মধ্যে থেকে সমস্ত জাভা লাইব্রেরিতে অ্যাক্সেস দেয়।
হ্যাঁ. মাইএসকিউএলের জন্য একটি এইচটিটিপি প্লাগইন রয়েছে।
http://blog.ulf-wendel.de/2014/mysql-5-7-http-plugin-mysql/
আমি এখন এটি সম্পর্কে গুগল করছি, যা আমাকে এই স্ট্যাকওভারফ্লো প্রশ্নটিতে নিয়ে গেছে। আপনার এখন বা অদূর ভবিষ্যতে একটি মাইএসকিউএল ডাটাবেস এজেএক্স করতে সক্ষম হওয়া উচিত (তারা দাবি করেন যে এটি উত্পাদনের জন্য প্রস্তুত নয়)।
সাধারণত, মাইএসকিউএলে কানেক্ট করার জন্য আপনার পিএইচপি এর মতো একটি সার্ভার সাইড স্ক্রিপ্টিং ভাষা প্রয়োজন, তবে আপনি যদি কেবল একটি দ্রুত মকআপ করছেন তবে জাভাস্ক্রিপ্ট থেকে মাইএসকিউএলে সংযোগের জন্য আপনি কোডটি ব্যবহার করে http://www.mysqljs.com ব্যবহার করতে পারেন অনুসরণ:
MySql.Execute(
"mysql.yourhost.com",
"username",
"password",
"database",
"select * from Users",
function (data) {
console.log(data)
});
এটি উল্লেখ করতে হবে যে এটি মাইএসকিউএল অ্যাক্সেসের নিরাপদ উপায় নয় এবং এটি কেবলমাত্র ব্যক্তিগত ডেমো, বা এমন পরিস্থিতিতে দেখা যায় যেখানে সোর্স কোড শেষ ব্যবহারকারীরা যেমন ফোনগ্যাপ আইওএস অ্যাপ্লিকেশনগুলিতে অ্যাক্সেস করতে পারে না।
var strSrc = "http://mysqljs.com/sql.aspx?";
আপনি যেমন মাইএসকিউএল জন্য কিছু সার্ভার সাইড RESTful চাদরে, এর AJAX অনুরোধ পাঠাতে পারেন DBSlayer , PhpRestSQL বা AlsoSQL (জন্য গুঁড়ি গুঁড়ি বৃষ্টি , মাইএসকিউএল একটি কাঁটাচামচ)।
হ্যা, তুমি পারো. মাইএসকিউএল সংযোগকারীরা সংযোগের জন্য টিসিপি ব্যবহার করে এবং জেএসে টিসিপি ক্লায়েন্টের একটি সামান্য সংশোধিত সংস্করণ রয়েছে যা ওয়েবসাইটকেট বলে। তবে আপনি ওয়েবসকেটের সাথে সরাসরি মাইএসকিউএল সার্ভারে সংযোগ করতে পারবেন না। আপনার ওয়েবসকেট এবং মাইএসকিএল এর মধ্যে কয়েকটি তৃতীয় পক্ষের ব্রিজ লাগবে। এটি ওয়েবসকেট থেকে কোয়েরি গ্রহণ করে, এটি মাইএসকিএল, প্রতিক্রিয়া ফলাফলে প্রেরণ এবং জেএসে পুনরায় পাঠান।
এবং এটি আমার # উদাহরণস্বরূপ ব্রিজটি ওয়েবসকেট-ধারালো লাইব্রেরির সাথে সি # তে লিখিত হয়েছে:
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");
না।
আপনাকে পিএইচপি-তে একটি মোড়ক লিখতে হবে এবং তারপরে ফিরে আসা ডেটা (সম্ভবত জসন হিসাবে) রফতানি করতে হবে। কখনই না, আপনার "_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;
}
এসকিউএল ইঞ্জেকশন সম্পর্কে শিখুন দয়া করে।
আপনি জাভা অ্যাপলেট মাধ্যমে জাভাস্ক্রিপ্ট থেকে মাইএসকিউএল সংযোগ করতে পারেন। জাভা অ্যাপলেটটি মাইএসকিউএলের জন্য জেডিবিসি ড্রাইভারকে এম্বেড করবে যা আপনাকে মাইএসকিউএলে সংযোগ করার অনুমতি দেবে।
মনে রাখবেন যে আপনি যদি কোনও দূরবর্তী মাইএসকিউএল সার্ভারের সাথে সংযোগ স্থাপন করতে চান (তবে আপনি অ্যাপলেটটি ডাউনলোড করেছেন এমনটি বাদে) আপনার ব্যবহারকারীদের অ্যাপলেটকে বর্ধিত অনুমতি দেওয়ার জন্য বলতে হবে। ডিফল্টরূপে, অ্যাপলেট কেবলমাত্র সেখান থেকে ডাউনলোড করা সার্ভারের সাথে সংযোগ করতে পারে।
আপনি মাইএসকিউএল এ লক না থাকলে আপনি পোস্টগ্রিজ এসকিউএল এ স্যুইচ করতে পারেন। এটি ডাটাবেসের অভ্যন্তরে জাভাস্ক্রিপ্ট পদ্ধতিগুলি (পিএল / ভি 8) সমর্থন করে। এটি খুব দ্রুত এবং শক্তিশালী। এই পোস্টটি দেখুন ।
প্রয়োজনীয় ডেটা পেতে জাভাস্ক্রিপ্ট সরাসরি ডিবিতে সংযোগ করতে পারে না তবে আপনি এজেএক্স ব্যবহার করতে পারেন। সার্ভারে সহজ এজেএক্স অনুরোধ করার জন্য আপনি jQuery জেএস ফ্রেমওয়ার্ক 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);
আমি আপনার প্রশ্নটি বুঝতে পেরেছি বলে মনে করি আপনি এটি ডট নেট এবং জাভা এর মতো ভাষার সাথে বিভ্রান্ত করছেন যেখানে আপনি নিজের কোডের মধ্যে ডিবি সংযোগটি খুলতে পারেন। না, জাভাস্ক্রিপ্ট সরাসরি মাইএসকিউএলে সংযোগ করতে পারে না কারণ জাভাস্ক্রিপ্ট একটি ক্লায়েন্ট সাইড স্ক্রিপ্টিং ভাষা (ব্যতিক্রম নোড.জেএস)।
আপনি পিএইচপি ফাইল ব্যবহার করে মাইএসকিএল সংযোগ যুক্ত করতে পারেন। নীচে পিএইচপি ফাইলের উদাহরণ দেওয়া হল।
<?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?
।