我想用nodejs使用mysql:试图运行查询:select count(*) from TABLE
。 结果出来作为一个简单的Nodejs MySQL查询
[ RowDataPacket { 'count(*)': 33 } ]
我只想要33的答案时,JavaScript框架代码如下所示
var express = require('express');
var router = express.Router();
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "honolulu",
password: "honolulu",
database: "db"
});
con.connect(function(err) {
if (err) throw err;
console.log("Connected to question database file 1!");
});
var but=20
con.query('select count(*) from qpsc',function (err, result) {
if (err) throw err;
but=result;
console.log(but);
});
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
router.get('/file', function(req, res, next) {
res.render('index2',{ num_buttons: '20'});
// console.log("RENDERED FROM INDEX.js");
});
module.exports = router;
所以,我应该怎么办? 请帮忙。
3 回答
由于结果是:
var theCount = result[0]['count(*)'];
所以,你的代码适应,这将是::
con.query('select count(*) from qpsc',function (err, result) {
if (err) throw err;
but = result[0]['count(*)'];
console.log(but);
});
你的结果变量是
[ RowDataPacket { 'count(*)': 33 } ]
你可以得到33
一个对象数组,在查询中选择每个字段的键。
您可能会在result[0]["count(*)"]
条目中找到您的计数,但这有点丑陋。
我会建议使用的别名在您的SQL查询,使其更加优雅:
select count(*) as many from qpsc
这样的话,你可以检索你的计数是这样的:
var yourCount = result[0].many;
这家伙很懒,还没有设置简介