1. 程式人生 > 資料庫 >初識NodeJS-使用express+mysql實現個人主頁的資料互動

初識NodeJS-使用express+mysql實現個人主頁的資料互動

個人主頁地址:http://121.4.41.4/

前端:

建立一個表單傳送post請求:

				<!-- 請求方式post  提交地址:/Message -->
				<form method="post" action="/Message">
					<div class="row">

						<div class="col-6 col-12-mobile">
							<input type="text" name="name" placeholder="Name" />
						</div>
						
						<div class="col-6 col-12-mobile">
							<input type="text" name="email" placeholder="Email" />
						</div>
						
						<div class="col-12">
							<textarea name="message" placeholder="Message"></textarea>
						</div>
						
						<div class="col-12">
							<input type="submit" value="Send Message" />
						</div>

					</div>
				</form>
				

在這裡插入圖片描述

後端

1.安裝express npm install express --save
2.安裝mysql npm install mysql --save



//呼叫express模組
const express = require('express');
const mysql = require('mysql');
const app = express();
//express-parser body模組
//用於接收post資料
var bodyParser = require("body-parser");
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(express.urlencoded());
//建立連線池
var consql = mysql.createConnection({
    host: '伺服器ip 或者 本機地址',
    user: '資料庫使用者名稱',
    password: '資料庫密碼',
    port: 3306,//訪問資料庫埠 mysql預設3306
    database: '資料庫名'
});


//聯絡我
app.post('/Message', (req, res) => {
	//使用req.body接收post引數
    console.log(req.body.name);

    let Messageobj = {
        name: req.body.name || '沒有',
        message: req.body.message || '沒有',
        Email: req.body.email || '沒有'
    }

    //連線資料庫
    consql.connect(function (err) {
        if (err) {
            console.log(err);
        }
        console.log('資料連線成功');
    })

    //SQL語句
    const Addsql = 'insert into tellMe(name,emall,msg) values(?,?,?)'
    const AddsqlParams = [Messageobj.name, Messageobj.Email, Messageobj.message]; // 動態引數
    //增加資料
    consql.query(Addsql, AddsqlParams, (err, result) => {
        //增加錯誤
        if (err) {
            console.log('增加資料錯誤', err);
            //關閉
            consql.end((err) => {
                if (err) {
                    console.log('關閉錯誤', err)
                }
            })
            res.send('傳送失敗');
            return;
        }
        console.log('新增成功');
        //關閉資料庫
        consql.end((err) => {
            if (err) {
                console.log('關閉錯誤', err)
            }
        })
        res.send('傳送成功');
    })

})

app.listen(8081);//監聽8081埠

當我們在form表單傳送資料時,就可傳送到mysql資料庫中
在這裡插入圖片描述