如何将查询结果存储在数组中?

时间:2018-10-20 20:10:32

标签: javascript mysql node.js

我正在mysql db中运行以下查询,我想将结果存储在数组中?如何在node.js中做到这一点?

SELECT ProductName FROM products;

1 个答案:

答案 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'];
         // ...

    }); 
  1. 为特定的行使用准备好的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'];
         // ...
    
    });
    
  2. 使用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'];
         // ...
    
    });