gpt4 book ai didi

mysql - 一些代码在 nodejs 中让我困惑

转载 作者:行者123 更新时间:2023-11-30 21:43:44 28 4
gpt4 key购买 nike

我正在学习node.js,我看到一些这样的代码

const mysql = require('mysql')
const config = require('./defaults')

var pool = mysql.createPool({
host : config.database.HOST,
user : config.database.USERNAME,
password : config.database.PASSWORD,
database : config.database.DATABASE,
port : config.database.PORT
});

let query = function( sql, values ) {
return new Promise(( resolve, reject ) => {
pool.getConnection(function(err, connection) {
if (err) {
resolve( err )
} else {
connection.query(sql, values, ( err, rows) => {
if ( err ) {
reject( err )
} else {
resolve( rows )
}
connection.release()
})
}
})
})
}

let postdetail = function (id) {
let _sql = `
SELECT * FROM posts where postid = ${id}
`
return query(_sql)
}

module.exports={
postdetail
}

令我疑惑的是query是一个函数,它有两个参数,一个是sql,一个是values,但是在postdetailreturn只有一个参数,有人可以解释一下吗?非常感谢。

最佳答案

query 是 mysql 查询函数的包装函数。它需要查询和值。它可用于执行 mysql 的SelectInsertUpdate 查询。

因此在 select 的情况下,你只需要传递 mysql query,不需要发送值,并且在 query 包装器方法中 values 将是 undefined

对于 InsertUpdated 这样的情况,您可以将值作为数组与查询一起发送。

关于mysql - 一些代码在 nodejs 中让我困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50442198/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com