node.js通过mysql包操作mysql数据库

导读:本篇文章讲解 node.js通过mysql包操作mysql数据库,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

服务端

// 引入mysql包
const express = require('express');
const mysql = require('mysql');
const app = express();
const path = require('path');
// 第二步
const mysqlObj = mysql.createConnection({
  host: '127.0.0.1',
  port: 3306,
  user: 'root',
  password: 'toor',
  database: 'student'
});
//第三步:连接mysql数据库
mysqlObj.connect();
// 监听3000端口
app.listen(3000, () => {
  console.log(`web服务器工作在3000端115441口`);
});
// 设置ejs模板:
app.set('view engine', 'ejs'); //设置模板引擎为ejs
//设置模板路径 html文件夹存放位置
app.set('views', path.join(__dirname, 'moban'));
app.engine('html', require('ejs').__express);

//显示查询界面
app.get('/', (req, res) => {
  res.render('search.html');
});
// 处理用户的查询
app.get('/find', (req, res) => {
  let {idd = ''} = req.query;
  // idd为文本框name,获取到
  console.log(idd);
  if (idd == '') {
    res.send(`<script>alert('查询关键词不能为空');location.href='/';</script>`);
    return;
  };

  // let uid = idd;
  let sql = 'select * from login where id=?';
  // let sql = `select * from xsb where xm like '%${xingming}%'`;
  // let sql = `insert into student(xingming,age,email)values(?,?,?)`;
  // mysqlObj.query(sql, (err, data) => {
  // mysqlObj.query(sql, [`%${xingming}%`], (err, data) => {
  //注意sql语句中的查询或添加的值为数字也要用引号引起来,不然会报错
  /**
   *  如果sql语句使用?占位符 则语法为
      mysqlObj.query(sql语句,[?变量1,?变量2,?变量3],(err,data)=>{
        data为查询到的数据 
      })
   */

  mysqlObj.query(sql, idd, function (err, data) {
    if (err) {
      console.log("执行失败!");
    } else {
      console.log("执行成功");
      res.render('userlist.html', {data});
    }
  });

  // mysqlObj.query(sql2, [value, username, password], function (err, data) {
  //   if (err) {
  //     console.log("执行失败");
  //   } else {
  //     console.log('执行成功');
  //   }
  // })
  // console.log(mysqlObj);
  // 第二个参数多个变量用[]括号括起来[value,username,password];
  // for (let obj of data) {
  //   console.log(`{obj.ID}`);
  // }
});

/

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <form action="/find">
    <input type="text" name ="idd">
    <input type="submit">
  </form>
</body>
</html>

/find

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

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  123
  <table>
    <% for(let i = 0;i<data.length;i++){%>
    <tr>
      <td>
        <%=data[i].ID%>
      </td>
      <td>
        <%=data[i].username%>
      </td>
      <td>
        <%=data[i].password%>
      </td>
    </tr>
    <% } %>
  </table>
</body>

</html>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/4896.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!