Estoy usando Node.js (discord.js específicamente) para hacer un bot de Discord. Tengo un comando llamado !add que toma más de 2 argumentos. !add Name This is the reply ( El Name sería args[0] ). Este es mi código que uso para verificar si el Name que ingresaron ya ha sido creado por un usuario:
var info = { "commandname": args[0], "commandreply": args.join(" ").slice(1), "username": message.author.name, "userid": message.author.id } connection.query("SELECT * FROM commands WHERE commandname = " + args[0], info, function(error) { if (error) throw error; // should only fireif that command name already exists as a command. return message.channel.sendMessage("A command with command name " + args[0] + " already exists."); }); // SHOULD fire - as no commands in my database yet. Especially not with that name. console.log("Trying to insert command " + args[0] + " into Database.");Pero recibo un error cuando ejecuto este comando:
Error: ER_BAD_FIELD_ERROR: Unknown column 'Name' in 'where clause' Este es mi código completo para el comando add si desea echar un vistazo: https://hastebin.com/qulivabeko.js
Así es como se ve mi base de datos actualmente: http://imgur.com/a/L7fYI
Soy realmente nuevo en SQL.
En primer lugar, su código es propenso a la inyección de sql. Primero escape todas las entradas realizadas por los usuarios y luego corrija su error de consulta. Debería ser así: SELECT * FROM commands WHERE commandname = '" + args[0] + "'"