Ошибка создания базы данных, результат не определен - PullRequest
0 голосов
/ 06 февраля 2019

Я пытаюсь создать простой код nodejs, используя Express и MySQL.

const express = require('express');
const mysql = require('mysql');

const db = mysql.createConnection({
    host : 'localhost',
    user : 'admin',
    password : ''
});

db.connect((err) => {
    if(err){
        console.log('Error while connecting');
    }
    console.log('Connected');
});     

const app = express();


app.get('/createdb',(req, res) => {

    let sql = 'CREATE DATABASE nodemysql';
    db.query(sql,(err,result) => {
        if(err){
            console.log("error while creating database");

        }
        console.log('result: '+result);
        res.send('database created..');
    });
});

app .listen('4200',() => {
    console.log('Server started on port 4200');
});

Ответ отправляется в браузер с сообщением, что

база данных создана ..

, но полученный результат не определен.Также печатается консоль с надписью

Ошибка при создании базы данных

Я получаю сообщение об ошибке:

[nodemon] перезапускается из-за изменений... перезапуск [nodemon] из-за изменений ... запуск [nodemon] node index.js
Сервер запущен через порт 4200 Ошибка подключения при создании базы данных: undefined

Я не уверен вчто я упускаю.Пожалуйста, помогите.

Ответы [ 4 ]

0 голосов
/ 06 февраля 2019

Попробуйте строку ниже и запустите файл .js.Я полагаю, вы сделали npm install mysql

mv ./node_modules/node-mysql/node_modules/* ./node_modules/
0 голосов
/ 06 февраля 2019

Попробуйте, это будет работать

app.get('/createdb',(req, res) => {

db.query('CREATE DATABASE nodemysql11', function(err,result)  {
    if(err){
        console.log("error while creating database");

    }
    console.log('result: '+result);
    res.send('database created..');
});

});

0 голосов
/ 06 февраля 2019

Ниже код должен работать нормально, попробуйте выполнить приведенный ниже код в файле .js.Если это сработает, то мы будем уверены, что ничего плохого в части conf.

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "root",
  password: "root"
});

con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
  con.query("CREATE DATABASE mydb", function (err, result) {
    if (err) throw err;
    console.log("Database created");
  });
});
0 голосов
/ 06 февраля 2019

Я не эксперт, но добавил ключевое слово 'function', как показано ниже:

app.get('/createdb',(req, res) => {

    let sql = 'CREATE DATABASE nodemysql11';
    db.query(sql, function(err,result) => {
        if(err){
            console.log("error while creating database");

        }
        console.log('result: '+result);
        res.send('database created..');
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...