JavaScript可以连接MySQL吗?
JavaScript可以连接MySQL吗?如果是,怎么做?不,JavaScript不能直接连接到MySQL。但是,您可以将JS与PHP混合使用来实现这一点JavaScript可以连接MySQL吗?,javascript,mysql,ajax,json,Javascript,Mysql,Ajax,Json,JavaScript可以连接MySQL吗?如果是,怎么做?不,JavaScript不能直接连接到MySQL。但是,您可以将JS与PHP混合使用来实现这一点 JavaScript是一种客户端语言,您的MySQL数据库将在服务器上运行我认为您需要在等式中添加类似PHP的内容。PHP与数据库交互,然后您可以使用Javascript进行AJAX调用。简单的答案是:不 JavaScript是在浏览器中运行的客户端语言(尽管如此),MySQL是在服务器上运行的服务器端技术 这意味着您通常使用ASP.NET或
JavaScript是一种客户端语言,您的MySQL数据库将在服务器上运行我认为您需要在等式中添加类似PHP的内容。PHP与数据库交互,然后您可以使用Javascript进行AJAX调用。简单的答案是:不
JavaScript是在浏览器中运行的客户端语言(尽管如此),MySQL是在服务器上运行的服务器端技术 这意味着您通常使用ASP.NET或PHP等服务器端语言连接到数据库。否 您需要用PHP编写一个包装器,然后导出返回的数据(可能是Json)。永远不要从您的“_get”中获取SQL代码,因为这被称为SQL注入(了解这一点的人将完全控制您的数据库) 这是我写的一个例子:
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注入。JavaScript不能直接连接到DB以获取所需数据,但可以使用AJAX。为了简化对服务器的AJAX请求,可以使用jQueryJS框架。这里有一个小例子 JS: PHP:
您可以通过JAVA小程序从Javascript连接到MySQL。JAVA小程序将嵌入用于MySQL的JDBC驱动程序,该驱动程序将允许您连接到MySQL
请记住,如果要连接到远程MySQL服务器(从中下载小程序的服务器除外),则需要请求用户向小程序授予扩展权限。默认情况下,小程序只能连接到下载它们的服务器 根据您的环境,您可以使用Rhino来执行此操作,请参见。这使您可以从JavaScript中访问所有Java库 您可以向MySQL的一些服务器端RESTful包装器发送AJAX请求,例如,或(对于MySQL的分支)。是吗?看一看流星。链接: 及 我不明白这是怎么做的。但是Nettuts+把这件事放到javascript-ajax部分,也许会发生奇迹 它还展示了使用JS连接和插入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});
如果没有某种桥,客户端JavaScript无法访问MySQL。但是上面关于JavaScript只是客户端语言的粗体陈述是不正确的——JavaScript可以运行客户端和服务器端,就像Node.js一样 Node.js可以通过以下方式访问MySQL 您还可以使用Socket.IO开发一些东西 你的意思是问客户端JS应用程序是否可以访问MySQL?我不确定是否存在这样的库,但它们是可能的 编辑:自撰写以来,我们现在有: Node.js的MySQL集群JavaScript驱动程序就是它听起来的样子——它是一个连接器,可以直接从JavaScript代码调用它来读取和写入数据。由于它直接访问数据节点,因此通过MySQL服务器没有额外的延迟,并且需要将JavaScript代码//对象转换为SQL操作。如果出于某种原因,您希望它通过MySQL服务器(例如,如果您正在InnoDB中存储表),那么可以对其进行配置
- 为DBs提供JS接口
- 来自sindresorhus的Node.js的一个示例
怀旧留下的答案 然后 当我理解这个问题并纠正我的错误时,它指的是仅在客户端使用JavaScript的经典服务器模型。在这个经典模型中,使用LAMP服务器(Linux、Apache、MySQL、PHP),与数据库联系的语言是PHP,因此要向数据库请求数据,需要编写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);
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});
<?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);
?> }
MySql.Execute(
"mysql.yourhost.com",
"username",
"password",
"database",
"select * from Users",
function (data) {
console.log(data)
});
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");