node+mysql学习第一天之连接mysql

今天是学习node的第一天
准备事项,node,mysql,navicat

一、创建node项目

npm init

一路傻瓜式回车,然后我们就得到了这样一个文件


image.png

image.png

二、下载mysql依赖(已经安装好mysql哦)

npm install mysql -save

三、简单整理下项目


image.png

四、建表
我是直接用navicat建的表,注意数据库名和表名不要写错了


image.png

image.png

ps:后面操作中发现一个问题,输入中文字符会报错,原来没有处理字符集,需要我们在建数据库的时候就处理下字符集,改为utf8,如果建完表之后重新修改数据库字符集,需要重新建表哦


image.png

五、开始写代码,
index.html

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>register</title>
</head>

<body>
  <div>
    <label for="user">用户名</label><input type="text" id="user">
  </div>
  <div>
    <label for="password">密码</label><input type="password" id="password">
  </div>
  <div>
    <button id="register">注册</button>
    <button id="login">登录</button>

  </div>
</body>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
  $(function () {
    $("#register").click(function () {
      $.ajax({
        url: "http://localhost:3000/register",
        type: "POST",
        data: {
          username: $("#user").val(),
          password: $("#password").val()
        },
        success: function (res) {
          alert(res.msg)
          if (res.code === 200) {
            // TODO....
          }
        },
        error: function (err) {
          console.log(err)
        }
      })
    })
  })
  $(function () {
    $("#login").click(function () {
      $.ajax({
        url: "http://localhost:3000/login",
        type: "POST",
        data: {
          username: $("#user").val(),
          password: $("#password").val()
        },
        success: function (res) {
          alert(res.msg)
          if (res.code === 200) {
            // TODO....
          }
        },
        error: function (err) {
          console.log(err)
        }
      })
    })
  });
</script>

</html>

index.js

var http = require("http")
var url = require("url")
var qs = require("querystring")
var fs = require("fs")

var connection = require('./util/mysql/mysql')


http.createServer(function (req, res) {
  //设置请求头
  res.setHeader("Access-Control-Allow-Origin", "*")
  if (req.method == "POST") {
    //接收发来的用户名和密码
    var result = ""
    req.addListener("data", function (chunk) {
      result += chunk
    })
    req.on("end", function () {
      var user = qs.parse(result);
      console.log(user.username, '密码', user.password)
      // 写入数据库
      let sql = "INSERT INTO `stt-user` (id, name, password) VALUES(0,?,?)"
      let params = [user.username, user.password]
      console.log(sql, params)
      connection.query(sql, params, (err, result) => {
        if (err) {
          console.log("插入失败" + err.message)
          return
        }
        console.log('插入成功')
      })
      return

    })
  } else {
  }
}).listen(3000, function (err) {
  if (!err) {
    console.log("服务器启动成功,正在监听port3000...")
  }
})

mysql

const mysql = require(`mysql`)
const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'root',
  database: 'mysql',
  port: '3306'
})

//创建一个connection
connection.connect(function (err) {
  if (err) {
    console.log('连接失败:' + err)
    return
  }
  console.log('连接成功')
})
module.exports = connection
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容