Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript nodejs上的hapi和mysql_Javascript_Mysql_Node.js - Fatal编程技术网

Javascript nodejs上的hapi和mysql

Javascript nodejs上的hapi和mysql,javascript,mysql,node.js,Javascript,Mysql,Node.js,当我运行服务器时,没有错误。但当我访问该站点时,它开始发出一个错误TypeError:将循环结构转换为JSON my database.js var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : 'root', password : '', database : 'test' }); module.expor

当我运行服务器时,没有错误。但当我访问该站点时,它开始发出一个错误
TypeError:将循环结构转换为JSON

my database.js

var mysql      = require('mysql');

var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password : '',
  database : 'test'
});

module.exports = {
  connection: connection
}
My products.js

var db = require('../database');

function getProducts(request) {
    var product = db.connection.query('SELECT * from products', function(err) {
        // connected! (unless `err` is set)
    });

    request.reply(product);
}
我刚从node开始


更新

db.connection.query('SELECT * from products', function(err, results) {
    if (err) throw err;
    console.log(err);

    var products = results;
});
var query = db.connection.query('SELECT * from products;', function(error, rows, fields)     {
    console.log(rows);
    var products = rows;
});
在控制台上返回null


更新

db.connection.query('SELECT * from products', function(err, results) {
    if (err) throw err;
    console.log(err);

    var products = results;
});
var query = db.connection.query('SELECT * from products;', function(error, rows, fields)     {
    console.log(rows);
    var products = rows;
});
好像在添加
到查询结束时执行


另一件事是,
产品没有定义

function getProducts(request) {

    if (request.query.name) {
        request.reply(findProducts(request.query.name));
    }
    else {
        request.reply(products);
    }
}

关于最后一个问题的答案:

var products = query._results;

看起来您对返回的实际数据有问题。Do
console.log(错误)在连接查询中,查看它的输出。@r3mus更新了我的问题。:)人力资源管理。。。好的,您需要弄清楚是哪行代码生成了那个类型错误。我猜它在以JSON的形式返回mysql数据时遇到了问题。@r3mus我想我知道了。我更新了问题。问题可能重复,因为问题在于异步数据的处理。