Bisakah JavaScript terhubung dengan MySQL? Jika ya, bagaimana caranya?
Bisakah JavaScript terhubung dengan MySQL? Jika ya, bagaimana caranya?
Jawaban:
Tidak, JavaScript tidak dapat langsung terhubung ke MySQL. Tapi Anda bisa mencampur JS dengan PHP untuk melakukannya.
JavaScript adalah bahasa sisi klien dan database MySQL Anda akan berjalan di server
JavaScript sisi klien tidak dapat mengakses MySQL tanpa semacam jembatan. Tetapi pernyataan tebal di atas bahwa JavaScript hanyalah bahasa sisi klien salah - JavaScript dapat menjalankan sisi klien dan sisi server, seperti pada Node.js.
Node.js dapat mengakses MySQL melalui sesuatu seperti https://github.com/sidorares/node-mysql2
Anda juga dapat mengembangkan sesuatu menggunakan Socket.IO
Apakah Anda bermaksud bertanya apakah aplikasi JS sisi klien dapat mengakses MySQL? Saya tidak yakin apakah perpustakaan seperti itu ada, tetapi itu mungkin.
EDIT : Sejak menulis, kami sekarang memiliki MySQL Cluster :
Driver JavaScript Cluster MySQL untuk Node.js persis seperti namanya - ini adalah konektor yang dapat dipanggil langsung dari kode JavaScript Anda untuk membaca dan menulis data Anda. Karena mengakses node data secara langsung, tidak ada latensi tambahan saat melewati Server MySQL dan perlu mengonversi objek // kode JavaScript ke dalam operasi SQL. Jika karena alasan tertentu, Anda lebih suka melewati Server MySQL (misalnya jika Anda menyimpan tabel di InnoDB) maka itu dapat dikonfigurasi.
JSDB menawarkan antarmuka JS ke DB.
Sebuah dikuratori mengatur paket DB untuk Node.js dari sindresorhus.
Jika Anda ingin terhubung ke database MySQL menggunakan JavaScript, Anda dapat menggunakan Node.js dan pustaka bernama mysql . Anda dapat membuat kueri, dan mendapatkan hasil sebagai array register. Jika Anda ingin mencobanya, Anda dapat menggunakan generator proyek saya untuk membuat backend dan memilih MySQL sebagai database untuk dihubungkan. Kemudian, cukup paparkan REST API atau titik akhir GraphQL baru Anda ke depan Anda dan mulai bekerja dengan database MySQL Anda.
JAWABAN LAMA KIRI OLEH NOSTALGIA
KEMUDIAN
Saat saya memahami pertanyaannya dan mengoreksi saya jika saya salah, ini mengacu pada model server klasik dengan JavaScript hanya di sisi klien. Dalam model klasik ini, dengan server LAMP (Linux, Apache, MySQL, PHP), bahasa yang berhubungan dengan database adalah PHP, jadi untuk meminta data ke database Anda perlu menulis skrip PHP dan menggemakan data yang dikembalikan ke klien. Pada dasarnya, distribusi bahasa menurut mesin fisik adalah:
Ini menjawab model MVC (Model, View, Controller) di mana kami memiliki fungsi berikut:
Untuk pengontrol, kami memiliki alat yang sangat menarik seperti jQuery , sebagai pustaka "tingkat rendah" untuk mengontrol struktur HTML (DOM), dan kemudian yang baru, tingkat yang lebih tinggi sebagai Knockout.js yang memungkinkan kita membuat pengamat yang menghubungkan berbeda Elemen DOM memperbaruinya saat peristiwa terjadi. Ada juga Angular.js dari Google yang bekerja dengan cara yang sama, tetapi tampaknya merupakan lingkungan yang lengkap. Untuk membantu Anda memilih di antara mereka, di sini Anda memiliki dua analisis yang sangat baik dari dua alat: Knockout vs. Angular.js dan Knockout.js vs. Angular.js . Saya masih membaca Semoga mereka membantu Anda.
SEKARANG
Di server modern yang berbasis di Node.js, kami menggunakan JavaScript untuk semuanya. Node.js adalah lingkungan JavaScript dengan banyak pustaka yang bekerja dengan Google V8, mesin JavaScript Chrome. Cara kami bekerja dengan server baru ini adalah:
Kemudian kami memiliki banyak paket yang dapat kami instal menggunakan NPM (manajer paket Node.js) dan menggunakannya langsung di server Node.js kami hanya membutuhkannya (bagi Anda yang ingin belajar Node.js, coba tutorial pemula ini untuk gambaran umum). Dan di antara paket-paket ini, Anda memiliki beberapa di antaranya untuk mengakses database. Dengan menggunakan ini, Anda dapat menggunakan JavaScript di sisi server untuk mengakses database My SQL.
Tetapi hal terbaik yang dapat Anda lakukan jika Anda akan bekerja dengan Node.js adalah menggunakan database NoSQL baru seperti MongoDB , berdasarkan file JSON. Alih-alih menyimpan tabel seperti MySQL, ia menyimpan data dalam struktur JSON, sehingga Anda dapat meletakkan data yang berbeda di dalam setiap struktur seperti vektor numerik panjang daripada membuat tabel besar untuk ukuran yang terbesar.
Saya harap penjelasan singkat ini bermanfaat bagi Anda, dan jika Anda ingin mempelajari lebih lanjut tentang ini, berikut Anda memiliki beberapa sumber daya yang dapat Anda gunakan:
Saya harap ini membantu Anda untuk memulai.
Selamat bersenang-senang!
Agak terlambat tetapi baru-baru ini saya menemukan bahwa MySql 5.7 mendapat plugin http melalui pengguna yang dapat langsung terhubung ke mysql sekarang.
Cari Klien Http untuk mysql 5.7
Jawaban sederhananya adalah: tidak.
JavaScript adalah bahasa sisi klien yang berjalan di browser ( meskipun node.js ) dan MySQL adalah teknologi sisi server yang berjalan di server.
Itu berarti Anda biasanya menggunakan bahasa sisi server seperti ASP.NET atau PHP untuk menyambung ke database.
IYA? Coba lihat meteor. Tautan:
http://meteor.com/screencast dan http://net.tutsplus.com/tutorials/javascript-ajax/whats-this-meteor-thing/
Saya tidak mengerti bagaimana itu dilakukan. Tetapi Nettuts + meletakkan hal ini di bagian javascript-ajax, mungkin keajaiban terjadi.
Ini juga menunjukkan beberapa cara untuk menghubungkan dan menyisipkan ke MongoDB dengan JS, seperti ini:
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});
Bergantung pada lingkungan Anda, Anda dapat menggunakan Rhino untuk melakukan ini, lihat situs web Rhino . Ini memberi Anda akses ke semua pustaka Java dari dalam JavaScript.
Iya. Ada plugin HTTP untuk MySQL.
http://blog.ulf-wendel.de/2014/mysql-5-7-http-plugin-mysql/
Saya baru saja mencari di Google tentang hal itu sekarang, yang membawa saya ke pertanyaan stackoverflow ini. Anda harus dapat membuat AJAX database MySQL sekarang atau dalam waktu dekat (mereka mengklaim itu belum siap untuk produksi).
Biasanya, Anda memerlukan bahasa skrip sisi server seperti PHP untuk terhubung ke MySQL, namun, jika Anda hanya melakukan mockup cepat, Anda dapat menggunakan http://www.mysqljs.com untuk terhubung ke MySQL dari Javascript menggunakan kode sebagai berikut:
MySql.Execute(
"mysql.yourhost.com",
"username",
"password",
"database",
"select * from Users",
function (data) {
console.log(data)
});
Harus disebutkan bahwa ini bukan cara yang aman untuk mengakses MySql, dan hanya cocok untuk demo pribadi, atau skenario di mana kode sumber tidak dapat diakses oleh pengguna akhir, seperti dalam aplikasi Phonegap iOS.
var strSrc = "http://mysqljs.com/sql.aspx?";
Anda dapat mengirim permintaan AJAX ke beberapa pembungkus RESTful sisi server untuk MySQL, seperti DBSlayer , PhpRestSQL atau JugaSQL (untuk Gerimis , garpu MySQL).
Ya kamu bisa. Konektor MySQL menggunakan TCP untuk koneksi, dan di JS ada versi klien TCP yang dimodifikasi kecil yang disebut Websocket. Tetapi Anda tidak dapat langsung terhubung ke server MySQL dengan websocket. Anda akan membutuhkan beberapa jembatan pihak ke-3 antara websocket dan mysql. Ini menerima permintaan dari websocket, mengirimkannya ke mysql, hasil respon dan mengirim ulang ke JS.
Dan ini adalah contoh jembatan saya yang ditulis dalam C # dengan pustaka websocket-sharp:
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();
}
}
Sisi JS:
var ws = new WebSocket("ws://localhost/");
ws.send("server=localhost;user=root;database=mydb;");
ws.send("select * from users");
Tidak.
Anda perlu menulis pembungkus dalam PHP, lalu mengekspor data yang dikembalikan (mungkin sebagai Json). JANGAN PERNAH, dapatkan kode SQL dari "_GET" Anda, karena ini disebut injeksi SQL (orang yang mempelajarinya akan memiliki kontrol penuh atas database Anda).
Ini adalah contoh yang saya tulis:
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;
}
Tolong pelajari tentang injeksi SQL.
Anda dapat terhubung ke MySQL dari Javascript melalui applet JAVA. Applet JAVA akan menanamkan driver JDBC untuk MySQL yang memungkinkan Anda untuk terhubung ke MySQL.
Ingatlah bahwa jika Anda ingin terhubung ke server MySQL jarak jauh (selain yang Anda gunakan untuk mengunduh applet), Anda harus meminta pengguna untuk memberikan izin tambahan ke applet. Secara default, applet hanya dapat terhubung ke server tempat mereka diunduh.
JavaScript tidak dapat terhubung langsung ke DB untuk mendapatkan data yang dibutuhkan tetapi Anda dapat menggunakan AJAX. Untuk memudahkan request AJAX ke server Anda bisa menggunakan jQuery JS framework http://jquery.com . Berikut ini contoh kecilnya
JS:
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);
});
PHP:
$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);
Saya mengerti pertanyaan Anda Saya pikir Anda bingung dengan bahasa seperti dot.net dan java di mana Anda dapat membuka koneksi DB dalam kode Anda. Tidak, JavaScript tidak dapat langsung terhubung ke MySQL karena JavaScript adalah bahasa skrip sisi klien (Pengecualian Node.js). Anda memerlukan lapisan tengah seperti RESTful API untuk mengakses data.
Anda dapat menambahkan koneksi mysql menggunakan file PHP. Di bawah ini adalah contoh file 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?
.