Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.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 无法读取节点中未定义的属性“query”&Postgresql_Javascript_Node.js_Postgresql_Express - Fatal编程技术网

Javascript 无法读取节点中未定义的属性“query”&Postgresql

Javascript 无法读取节点中未定义的属性“query”&Postgresql,javascript,node.js,postgresql,express,Javascript,Node.js,Postgresql,Express,这段代码正确运行了一段时间,但几秒钟后,我收到了以下错误:我使用setInterval函数在视图端重复调用此函数 您可能会收到一个错误,因此客户端没有方法查询,因为它是未定义的 您可以轻松地将其包装在if/else块中,以确保已设置客户端: client.query(query_get_value, function (err, result) { ^ TypeError: Cannot read property 'query' of undefine

这段代码正确运行了一段时间,但几秒钟后,我收到了以下错误:我使用setInterval函数在视图端重复调用此函数


您可能会收到一个错误,因此客户端没有方法查询,因为它是未定义的

您可以轻松地将其包装在if/else块中,以确保已设置客户端:

 client.query(query_get_value, function (err, result) {
                   ^

TypeError: Cannot read property 'query' of undefined
    at /var/node_project/controllers/index.js:630:10
    at client.connect (/var/node_project/node_modules/pg-pool/index.js:219:9)
    at Connection.connectingErrorHandler (/var/node_project/node_modules/pg/lib/client.js:123:14)
    at Connection.emit (events.js:127:13)
    at Socket.<anonymous> (/var/node_project/node_modules/pg/lib/connection.js:117:12)
    at Socket.emit (events.js:127:13)
    at addChunk (_stream_readable.js:269:12)
    at readableAddChunk (_stream_readable.js:256:11)
    at Socket.Readable.push (_stream_readable.js:213:10)
    at TCP.onread (net.js:598:20)

您可能会收到一个错误,因此客户端没有方法查询,因为它是未定义的

您可以轻松地将其包装在if/else块中,以确保已设置客户端:

 client.query(query_get_value, function (err, result) {
                   ^

TypeError: Cannot read property 'query' of undefined
    at /var/node_project/controllers/index.js:630:10
    at client.connect (/var/node_project/node_modules/pg-pool/index.js:219:9)
    at Connection.connectingErrorHandler (/var/node_project/node_modules/pg/lib/client.js:123:14)
    at Connection.emit (events.js:127:13)
    at Socket.<anonymous> (/var/node_project/node_modules/pg/lib/connection.js:117:12)
    at Socket.emit (events.js:127:13)
    at addChunk (_stream_readable.js:269:12)
    at readableAddChunk (_stream_readable.js:256:11)
    at Socket.Readable.push (_stream_readable.js:213:10)
    at TCP.onread (net.js:598:20)

我也试过了。但是在这种情况下,我收到了如下错误:{错误:对不起,已经有太多客户端了….这听起来像是您问题的根本原因。为什么有其他客户端连接?您应该有一个客户端,在查询完DBI后将其关闭。我也尝试过这样做。但是在这种情况下,我收到了如下错误:{错误:抱歉,已经有太多客户端了……这听起来像是问题的根本原因。为什么还有其他客户端连接?您应该有一个客户端,在查询完与您的问题无关的数据库后将其关闭,但是:您是否使用pg promise?如果是,您肯定应该使用其内置的查询生成系统,如client.query'SELECT*FROM$1',tablename而不是使用字符串连接。想象req.body.tablename是[yourtablename];DROP TABLE[yourtablename];-…与您的问题无关,但是:您使用的是pg promise吗?如果是,您肯定应该使用其内置的查询生成系统,如client。查询'SELECT*FROM$1',tablename而不是使用字符串连接。假设req.body.tablename是[yourtablename];DROP TABLE[yourtablename];-。。。
pool.connect(function (err, client, done) {
        if(err) {
            console.log(err)
        }else{
            var query_get_value = 'SELECT * FROM '+ tablename;
        client.query(query_get_value, function (err, result) {
            done();
            if (err) {
                    throw err;
            }
            var rows = result.rows;
        }