简体   繁体   English

如何传递和执行mysql查询?

[英]How do you pass and execute a mysql query?

I was wondering how to execute a mysql query so that the client can see like "users registered: number " 我想知道如何执行mysql查询,以便客户端可以看到“注册的用户: 数字

Server.js: Server.js:

var http = require('http');
var ejs = require('ejs');
var fs = require('fs');
var mysql = require('mysql');
var connection = mysql.createConnection({
    host: '127.0.0.1',
    user: 'root',
    password: 'root',
    database: 'kitsune',
    connectionLimit: 50,
    port: 3306 });

connection.connect(function(err) {
    if (err) throw err;
});
connection.query('SELECT 1 + 1 AS solution', function (error, results, fields) {
  if (error) throw error;
  console.log('The solution is: ', results[0].solution);
});
module.exports = connection;

http.createServer(function(req,res) {
  res.writeHead(200, {'Content-Type': 'text/html'});

  fs.readFile('index.html', 'utf-8', function(err, content) {
    if (err) {
      res.end('error occurred');
      return;
    }
    var countQuery = "SELECT Count(ID) AS NumberOfPenguins FROM Penguins"; console.log(countQuery);
connection.query(countQuery, function(err, rows) {
  if (err) throw err;
  console.log('Connected!');
});

    var renderedHtml = ejs.render(content, {countQuery: countQuery});
    res.end(renderedHtml);
  });
}).listen(80);

index.html: index.html:

<html>
   <head>
   </head>
<body>
Users registered: <%= countQuery %>
</body>
</html>

This only shows the query but it does not execute it. 这仅显示查询,但不执行查询。 Any idea on how to execute it? 关于如何执行它的任何想法?

You executed the query sure but you never did anything with the results. 您确实执行了查询,但从未对结果执行任何操作。 The result is the rows passed in the callback function. 结果是在回调函数中传递的rows

connection.query(countQuery, function(err, rows) {
  if (err) throw err;

  var renderedHtml = ejs.render(content, {countQuery: rows});
  res.end(renderedHtml);
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM