關(guān)鍵代碼
const queryString = 'SELECT * FROM sys_user LIMIT ?, ?';
let data = await query(queryString, [startIndex,pageSize]);
訪問數(shù)據(jù)庫相關(guān)代碼文章來源:http://www.zghlxwxcb.cn/news/detail-794208.html
const mysql = require('mysql')
const pool = mysql.createPool({
host: '127.0.0.1',
user: 'root',
password: '123456',
database: 'lzwj_data',
port: 3306
})
function camelCaseKeys(obj) {
const result = {};
for (let key in obj) {
let newKey = key[0].toLowerCase() + key.slice(1).replace(/_([a-z])/g, function($0,$1){return $1.toUpperCase();});
result[newKey] = obj[key];
}
return result;
}
let query = function( sql, values ) {
// 返回一個 Promise
return new Promise(( resolve, reject ) => {
pool.getConnection(function(err, connection) {
if (err) {
reject( err )
} else {
connection.query(sql, values, ( err, rows) => {
if ( err ) {
reject( err )
} else {
rows = rows.map(item => camelCaseKeys(item));
resolve( rows )
}
// 結(jié)束會話
connection.release()
})
}
})
})
}
module.exports = query
一個分頁查詢?nèi)藛T信息的完整代碼,查詢語句實現(xiàn)了防止sql注入文章來源地址http://www.zghlxwxcb.cn/news/detail-794208.html
router.get('/api/user/page', async (req, res) => {
let pageNo = req.query.pageNo;
let pageSize = sysUtils.strToInt(req.query.pageSize);
const startIndex = sysUtils.strToInt((pageNo - 1) * pageSize);
const queryString = 'SELECT * FROM sys_user LIMIT ?, ?';
let data = await query(queryString, [startIndex,pageSize]);
const countSql = 'select count(*) count from sys_user'
let countData = await query(countSql);
let count = sysUtils.strToInt(countData[0].count);
let pageData = {
total : count,
pages : sysUtils.pageCount(count,pageSize),
records : data
}
res.send({
status: 200,
success : true,
message: '',
data: pageData,
})
})
到了這里,關(guān)于Node.js + Mysql 防止sql注入的寫法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!