首页 > 解决方案 > node.js 上的 mysql 查询给了我一个对象对象结果

问题描述

你好

我在 node.js 上有这个查询。这是我的服务器端文件:

    function doquery(select,from,where,value) {
     var con = mysql.createConnection({
          host: "localhost",
          database: "db545",
          user: "root",
          password: "mypass"
        });
        
     return con.query("SELECT " + select + " FROM " + from + " WHERE " + where + value);
    };
    
   io.on('connection', (socket) => {
      // when the client emits 'add user', this listens and executes
      socket.on('add user', (username) => {
        dispname = doquery('name','members','member_id','1');

但变量 dispname 导致 [object object] 但由于这是服务器端,我没有收到任何错误,所以我无法调试它。怎么了?

谢谢你。

标签: mysqlnode.js

解决方案


[object Object]是对象的默认字符串表示。如果要正确调试结果,可以将其序列化为 JSON:

console.log(JSON.stringify(dispname));

旁注:
通过将字符串连接到您的 SQL 查询,您会使应用程序容易受到 SQL 注入攻击。我强烈建议您改为查看准备好的语句


推荐阅读