数据库创建失败,结果未定义

时间:2019-02-06 04:46:53

标签: mysql node.js express

我正在尝试使用express和mysql创建一个简单的nodejs代码。

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上启动   创建数据库时出现连接错误    结果:未定义

我不确定我错过了什么。请帮忙。

4 个答案:

答案 0 :(得分:1)

下面的代码应该可以正常工作,请尝试在.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");
  });
});

答案 1 :(得分:0)

我不是专家,但添加了关键字“功能”,如下所示:

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..');
    });
});

答案 2 :(得分:0)

尝试一下,它将起作用

play -l <line number>

});

答案 3 :(得分:0)

尝试以下行,然后运行.js文件。 我假设您已经完成npm install mysql

mv ./node_modules/node-mysql/node_modules/* ./node_modules/