使用带有 Javascript 的 MySQL (node.js)
Posted
技术标签:
【中文标题】使用带有 Javascript 的 MySQL (node.js)【英文标题】:Using MySQL with Javascript (node.js) 【发布时间】:2021-07-02 18:20:02 【问题描述】:我刚刚开始学习 Node.js。我来自 php 背景,所以我从 mysql 开始。 所以,我想尝试使用 javascript 执行一些基本的 MySQL 查询。我用这种方式编写查询:
filename: test.js
var mysql = require('mysql');
var con = mysql.createConnection(
host: "localhost",
user: "root",
password: "",
database: "test",
);
con.connect(err =>
if (err) throw err;
console.log("Connected!");
const q = "INSERT INTO testing VALUES(3, 'MILLENNIAL', 19, 'STUDENT', 'CSE')";
con.query(q, (err, result) =>
if (err) throw err;
console.log("done");
);
);
当我以这种方式运行唯一的 javascript 文件时:node test.js
查询被执行,但是当我将同一个文件连接到 html 文件时,这种方式:
<script src="test.js"></script>
查询没有被执行...它在控制台中出现错误:Uncaught ReferenceError: require is not defined
我觉得我在这里没有使用非常重要的东西。我错过了什么吗?请帮助我更进一步。
如果这很愚蠢,我很抱歉,但是请帮助我。提前谢谢你。
【问题讨论】:
最重要的是:浏览器中没有mysql
。
数据库连接应该只在你的后端。 Html 文件适用于您的前端。您的用户应该不能直接连接到数据库
requirejs.org您可以按照文档中提到的步骤进行操作!
【参考方案1】:
node.js 是使用 javascript 语法的 javascript 运行时,用于服务器端语言。您尝试的是在前端使用 nodejs 脚本。 require 未定义 - 因为它仅适用于节点,要在纯 javascript 中使用其他模块,您将需要使用 cdn 或 browserify、webpack 等包。如果您有兴趣,请查看文档。
【讨论】:
【参考方案2】:我会尝试从 PHP 的角度来解释。
当您编写 PHP 时,通常生成的文件是 HTML,并且您将 PHP 代码嵌入其中,因此它在没有 PHP 的情况下呈现给请求浏览器。
在节点中,这是不同的。我们不会编写嵌入节点代码的 HTML。 Node 更侧重于后端和前端的分离。你写你的后端来回复你的前端。
后端是你输入var mysql = require('mysql');
的地方
您可以使用 express 与 koa 之类的东西将结果查询提供给前端。
这是一个很好的入门教程https://geshan.com.np/blog/2020/11/nodejs-mysql-tutorial/ 我通常推荐 Koa,因为它现在更新更频繁,但 express 基本上是一样的!
希望这会指引你朝着正确的方向前进。
【讨论】:
以上是关于使用带有 Javascript 的 MySQL (node.js)的主要内容,如果未能解决你的问题,请参考以下文章
PHP-在表格的每一行中动态插入带有javascript的innerhtml