问题标签 [node-mysql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3824 浏览

mysql - 在 Node.js 中解密 MySQL 的 AES_ENCRYPT

我在将 AES 解密用于缓冲区对象时遇到问题,我希望有人知道我做错了什么......

MyExample:我有一个带有 AES_ENCRYPT 用户名和密码的 MySQL 表...

Node.JS:我正在使用 node-mysql 模块向我的数据发送查询:

为密码和用户名返回此类值:

如何使用 Node.JS 解密方法对其进行解码?我的尝试都失败了...我希望正确选择 AES-128-ECB...

要解读 Node.JS 中的某些内容,应该如下所示:

感谢所有帮助:)

0 投票
0 回答
1479 浏览

javascript - 如何使用 node-mysql / node.js 一次获取一行?

我有一些 PHP 代码需要移植到 node.js / Javascript,但我不知道如何正确执行此操作:一次只获取一行。

我有一个查询会产生一个 MASSIVE 数据集;我只需要一些结果;但我不知道有多少。

在 PHP 中,我只执行查询,然后每行获取行,直到满足条件。php伪代码:

我看不到如何在 node-mysql 中做到这一点。我可以在 sql 查询中添加一个 LIMIT 1 并每次进行一个新查询,但是我如何获得有序列表中的下一行?任何提示将不胜感激。

如果有帮助,这是实际代码:

0 投票
1 回答
4630 浏览

javascript - 使用 app.get(..) 路由后 Express JS 'this' 未定义

我有一个基本的 Node JS 服务器,它被设计用作 API,我创建了一个日志和数据库模块,并开始添加其他模块来处理不同的请求类型。

我正在使用 Express.js 和 node-mysql

当我访问时,/v1/group我收到以下错误 -

所以我想在收到一个请求并调用group.getAll()未定义this但我不明白为什么之后,有没有办法设置this或我的应用程序结构都错了?

服务器.js

数据库.js

组.js

0 投票
1 回答
348 浏览

node.js - Express3 JS - 在路由中访问和设置会话数据

我正在尝试在 node-mysql 查询回调中访问 nodejs 服务器会话变量,但我似乎无法访问或设置 req.session 中的任何变量。

正如您在上面看到的,我正在尝试将名字和姓氏添加到会话中作为测试,以查看会话是否正常工作,但这最终将成为身份验证系统的一部分。

实现这一目标的最佳方法是什么。我错过了一些重要的中间件吗?

编辑:这是 routes.login_process 中的完整代码

这是从发布到 /login 的表单发布的

0 投票
7 回答
47158 浏览

mysql - Node.js mysql 事务

谁能提供我如何在 Node.js 中实现 MySQL 事务的示例。我正在尝试使用 node-mysql 驱动程序和 node-mysql-queue。

据我所知,使用 node-mysql-queue 大大降低了 Node.js 的异步特性,因为新查询必须等到现有查询完成。为了解决这个问题,有没有人尝试将 node-mysql-queue 与 node-mysql 的连接池功能结合起来。即为每个新的http请求启动一个新的mysql连接,并在单个连接上启动事务队列?

0 投票
6 回答
177704 浏览

javascript - 防止 Node.js 中的 SQL 注入

是否有可能以与 PHP 具有防范它们的 Prepared Statements 相同的方式防止 Node.js 中的 SQL 注入(最好使用模块)。

如果是这样,怎么做?如果没有,有哪些示例可能会绕过我提供的代码(见下文)。


一些背景:

我正在使用node-mysql模块制作一个由 Node.js + MySql 组成的后端堆栈的 Web 应用程序。从可用性的角度来看,这个模块很棒,但是它还没有实现类似于 PHP 的Prepared Statements的东西(尽管我知道它在todo上)。

据我了解,PHP 对预准备语句的实现等对防止 SQL 注入有很大帮助。不过,我担心我的 node.js 应用程序可能会受到类似的攻击,即使默认提供了字符串转义(如下面的代码片段所示)。

node-mysql 似乎是 node.js 最流行的 mysql 连接器,所以我想知道其他人可能会做什么(如果有的话)来解决这个问题 - 或者它是否甚至是 node.js 开始的问题(不知道这是怎么回事,因为涉及到用户/客户端输入)。

我是否应该暂时切换到node-mysql-native,因为它确实提供了准备好的语句?我对此犹豫不决,因为它似乎不像 node-mysql 那样活跃(尽管这可能只是意味着它已经完成)。

这是一段用户注册代码,它使用了sanitizer模块,以及 node-mysql 准备好的语句式语法(正如我上面提到的,它会进行字符转义),分别防止跨站点脚本和 sql 注入:

0 投票
1 回答
424 浏览

mysql - 加快 MySQL 中大量多查询语句的性能

我有 node.js 脚本,它在服务器上作为 cron 作业运行。

它异步接收来自外部源的数据(几个同步请求)并使用多个查询语句更新数据库,其中 UPDATE 查询用分号分隔。

一个 8000-UPDATES 多查询运行大约 55 秒。

有没有办法以某种方式加快整个数据库更新过程?

单个查询非常简单——比如

索引是为id字段创建的。

0 投票
1 回答
2342 浏览

mysql - ENOENT 与 nodejs mysql 和续集

我已经为此苦苦挣扎了几天,无法弄清楚出了什么问题。

我在用:

当我尝试执行任何查询时,我会在其中某处收到一条带有 ENOENT 的错误消息。根据我的研究,这似乎是文件系统问题的通用节点错误消息,例如文件不存在或权限不足。我已检查并且我的凭据是正确的。所以,我的创建语句失败,然后当我的应用程序去查询数据库时,没有表存在,我得到类似的东西:

什么类型的事情通常会导致这种情况?非常感谢。

0 投票
1 回答
20900 浏览

javascript - Node.js 和 mysql 回调:查询回调中的查询

如果我的数据库没有,我想做的就是插入一些数据,所以我将插入 SQL 放入我的 Select SQL 的回调函数中,但我得到了这样的错误:

{ [错误:调用退出后无法排队查询。] 代码:'PROTOCOL_ENQUEUE_AFTER_QUIT',致命:false }

我的代码片段在这里:

有人可以给我一些建议吗?谢谢

- - 更新 - -

其实 select SQL 的回调函数并不是匿名函数,我的 db.end() 代码片段是这样的:

0 投票
1 回答
1327 浏览

node.js - nodejs mysql如何读取配置参数

数据库.ini

console.log 的输出:

这是我的 nodejs 脚本的顶部。console.log 输出正常,但未建立连接。不知何故,在 createConnection 中无法识别配置变量。

有人有建议吗?