title: JS Can't query MySQL database. ERROR: connection.query is not a function
body: <p>Trying to query my mySQL database but I can't because i get a <code>TypeError: connection.query is not a function</code> error. Does anyone have any idea why? I don't have any clue as to why this is happening.</p>
  <p><strong>database.js</strong></p>
  <pre><code>const fs = require('fs'); // node.js file system module
  require('dotenv').config(); // stores tokens, keys, passwords and other info
  const Discord = require('discord.js'); // links discord.js api to file
  const database = require('./database.js');
  
  const client = new Discord.Client(); // creates bot user
  
  let connection;
  (async () =&gt; {
      connection = await require('./database.js');
      await client.login(process.env.TOKEN); // bot goes from offline to online
  })();
  
  client.once('ready', () =&gt; console.info(`[${date.toLocaleString()}] INFO | Ready, logged in as ${client.user.tag} (${client.user.id})\n------------------------`));
  
  client.on('guildCreate', async guild =&gt; {
      try {
          await connection.query(`INSERT INTO guildInfo VALUES('${guild.id}', '${guild.ownerID}')`);
          await connection.query(`INSERT INTO guildConfig (guildID) VALUES('${guild.id}')`);
      } catch(err) {
          console.error(err);
      }
  });
  </code></pre>
  <p><strong>database.js</strong></p>
  <pre><code>require('dotenv').config();
  const mysql = require('mysql2/promise');
  
  date = new Date();
  mysql.createConnection({
      user: process.env.USER,
      password: process.env.PASSWORD,
      database: process.env.DATABASE
  }).then(connection =&gt; console.info(`[${date.toLocaleString()}] INFO | Waiting for input/changes to code\n------------------------`)).catch(err =&gt; console.error(err));
  </code></pre>
  <p><strong>Error</strong></p>
  <pre><code>TypeError: connection.query is not a function
      at Client.&lt;anonymous&gt; (C:\Users\Patrick Lawrence\Desktop\Synth\index.js:43:20)
      at Client.emit (events.js:315:20)
      at Object.module.exports [as GUILD_CREATE] (C:\Users\Patrick Lawrence\Desktop\Synth\node_modules\discord.js\src\client\websocket\handlers\GUILD_CREATE.js:33:14)
      at WebSocketManager.handlePacket (C:\Users\Patrick Lawrence\Desktop\Synth\node_modules\discord.js\src\client\websocket\WebSocketManager.js:384:31)
      at WebSocketShard.onPacket (C:\Users\Patrick Lawrence\Desktop\Synth\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22)
      at WebSocketShard.onMessage (C:\Users\Patrick Lawrence\Desktop\Synth\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10)
      at WebSocket.onMessage (C:\Users\Patrick Lawrence\Desktop\Synth\node_modules\ws\lib\event-target.js:125:16)
      at WebSocket.emit (events.js:315:20)
      at Receiver.receiverOnMessage (C:\Users\Patrick Lawrence\Desktop\Synth\node_modules\ws\lib\websocket.js:797:20)
      at Receiver.emit (events.js:315:20)
  </code></pre>