我正在mysql db中运行以下查询,我想将结果存储在数组中?如何在node.js中做到这一点?
SELECT ProductName FROM products;
答案 0 :(得分:0)
您描述的最后一个SELECT语句几乎正确,只是它对INSERT语句使用结构。
这里有 2种正确方法来创建和执行SELECT语句,这是一种安全的方法,可避免MySQL注入并保护数据库免受可能的攻击。</ p>
1。多个记录
/**
* Example of Selecting multiple rows form one MySQL table
*/
var query = connection.query('SELECT ProductName FROM products',
[product_id], function(err, results) {
if (error) throw error; output error(s)
// results[0]['ProductName'];
// results[1]['ProductName'];
// ...
});
为特定的行使用准备好的Statement定位:
/**
* Example of Selecting one record using MySQL Table ID
*/
var category_id = 5;
var query = connection.query('SELECT ProductName FROM products WHERE CategoryId=?',
[category_id], function(err, results) {
if (error) throw error; output error(s)
// results[0]['ProductName'];
// results[1]['ProductName'];
// ...
});
使用mysql.escapeId()方法
var category_id = x;
var sql = 'SELECT productName FROM products WHERE category_id = ' + connection.escape(category_id);
connection.query(sql, function (error, results, fields) {
if (error) throw error; output error(s)
// results[0]['ProductName'];
// results[1]['ProductName'];
// ...
});