最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

Discord.js中的节点mysql返回空结果数组

IT培训 admin 3浏览 0评论

Discord.js中的节点mysql返回空结果/数组

我正在尝试执行从表中获取选定查询的命令,其中id是我在命令中使用的表,例如:!db 1但我有一个问题。问题是结果为空。

我的代码:

const Discord = require('discord.js');
const mysql = require('mysql');

module.exports.run = async (bot, message, args, connection) => {
    const asd = args.slice(1,2).join(' ');

    let querystring = `SELECT * FROM test WHERE id = '${asd}'`

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

    console.log(results);
    });

}

module.exports.help = {
    name: "db"
}

感谢您的帮助!谢谢!

回答如下:

[From the screenshot you posted earlier,您的id列是类型INT。正在搜索该代码,好像该列是VARCHAR

尝试一下:

const id = args.slice(1, 2).join(' ');
if (isNaN(id)) { return; } // if the input isn't a number
connection.query(`SELECT * FROM test WHERE id = ${Number.parseInt(id)}`, (err, res, rows) => {
    if (err) throw new Error(err);
    console.log(res);
});

重要:此代码允许SQL Injection。模板文字不要可以防止这种情况。

Discord.js中的节点mysql返回空结果/数组

我正在尝试执行从表中获取选定查询的命令,其中id是我在命令中使用的表,例如:!db 1但我有一个问题。问题是结果为空。

我的代码:

const Discord = require('discord.js');
const mysql = require('mysql');

module.exports.run = async (bot, message, args, connection) => {
    const asd = args.slice(1,2).join(' ');

    let querystring = `SELECT * FROM test WHERE id = '${asd}'`

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

    console.log(results);
    });

}

module.exports.help = {
    name: "db"
}

感谢您的帮助!谢谢!

回答如下:

[From the screenshot you posted earlier,您的id列是类型INT。正在搜索该代码,好像该列是VARCHAR

尝试一下:

const id = args.slice(1, 2).join(' ');
if (isNaN(id)) { return; } // if the input isn't a number
connection.query(`SELECT * FROM test WHERE id = ${Number.parseInt(id)}`, (err, res, rows) => {
    if (err) throw new Error(err);
    console.log(res);
});

重要:此代码允许SQL Injection。模板文字不要可以防止这种情况。

发布评论

评论列表 (0)

  1. 暂无评论