javascript - 在 SQL 数据库中保存值的函数
问题描述
我想更好地理解下面的 JavaScript 函数。如果你能帮助我,那就太好了。
function createevent(id, number, callback) {
let sql = `INSERT INTO event (id, number, status) VALUES (?,?, 'outstanding')`
let params = [id, number]
db.run(sql, params, (err) => {
if (err) {
console.error(err.message)
callback(true)
} else callback(false)
})
}
- 为什么究竟是“让参数”呢?
- “db.run”发生了什么?
解决方案
而是在这种情况下let
更好地使用const
,让我们使用可以在当前范围内重新分配的变量
db.run 准备 sql,发送到 db,等待响应将响应传递给您的回调
准备 sql,sql 有 - ?,每个人都同意一个参数,首先?到第一个参数 ... 在准备 sql 期间,?替换为参数
你不会写
const sql = `INSERT INTO event (id, number, status) VALUES (${id},${number}, 'outstanding')`;
因为在不安全的情况下,您的 id 参数可以包含 sql(可以阅读有关 SQL 注入的信息)
在准备 sql -> 将其发送到数据库并等待结果后,在获取结果后将其传递给您的回调函数
(err) => {
if (err) {
console.error(err.message)
callback(true)
} else callback(false)
}
在这种情况下,您验证 sql 是否在数据库中成功执行
您可以在任何有关在 nodejs 中使用一些 SQL 的文档中阅读更多相关信息,因为它https://www.sqlitetutorial.net/sqlite-nodejs/insert/
推荐阅读
- excel - 如何从列中的所有单元格中删除第二个句号之后的所有文本?
- javascript - Vue,v-bind:将数据作为属性传递
- javascript - 在使用 CORS 的情况下,Edge 浏览器不会重定向呼叫
- python - 在pygame中实现曲线上的碰撞检测
- javascript - 从 api 获取数据未显示
- c# - 问题:从 C++ MFC 调用 C# Unmanged COM
- php - 在html表格中打印多维关联数组列方式
- sql - 使用 SQL Server 2016 语法如何在表本身可能存在或不存在时使用删除约束“如果存在”?
- ecmascript-6 - 检查表达式的函数参数
- node.js - 在 Listview Flutter 中填充链接引用