Rumah  >  Artikel  >  hujung hadapan web  >  Express melaksanakan komunikasi hadapan dan belakang untuk memuat naik gambar ke pangkalan data storan (mysql) tutorial kalis bodoh (2)_javascript

Express melaksanakan komunikasi hadapan dan belakang untuk memuat naik gambar ke pangkalan data storan (mysql) tutorial kalis bodoh (2)_javascript

WBOY
WBOYasal
2016-05-16 15:26:262556semak imbas

Dalam artikel lepas, saya memperkenalkan kepada anda Express melaksanakan komunikasi hadapan dan belakang untuk memuat naik gambar ke pangkalan data storan (mysql) tutorial bodoh (1)

Pangkalan data adalah seperti tajuk, berdasarkan mysql sumber terbuka saya memuat turun versi yang dinyahmampat (saya ada dari Baidu, muat turun sahaja dari Baidu), proses konfigurasi http://www.jb51. net/article/ 76206.htm, semasa proses pemasangan, saya telah lama mencari tutorial untuk mengkonfigurasi fail my.ini, jadi saya menyiarkan fail my.ini saya

[mysqld]
basedir="D:/MySql" 
datadir="D:/MySql/data" 
port = 3306
socket = "/tmp/mysql.sock"
[client] 
password = 
port = 3306
socket = "/tmp/mysql.sock"
default-character-set = utf8 

Anda boleh melihat bahawa mysql saya dipasang dalam folder Mysql Anda boleh mengubah suainya mengikut laluan anda sendiri.

Kemudian jalankannya dalam folder tong sampah

mysqld -install

Pasang perkhidmatan mysql dan kemudian mulakan perkhidmatan.

net start mysql

Pautan tutorial di atas untuk mengkonfigurasi mysql termasuk alamat muat turun navicat untuk mysql (alat visual untuk mysql), serta maklumat pendaftaran Pelajar yang tidak mahu menaip dalam baris arahan boleh memuat turun dan menggunakannya, yang adalah lebih mudah.

 Log masuk ke pangkalan data untuk kali pertama

mysql -uroot -p

Hanya tekan Enter tanpa kata laluan.

(ps: Apabila saya mengisi pangkalan data secara manual semasa digunakan, akan ada aksara yang bercelaru apabila memasuki bahasa Cina. Penyelesaiannya adalah seperti berikut: klik kanan pangkalan data, kemudian pilih Hartanah Pangkalan Data, ubah suai set aksara kepada format utf8, dan pilih yang pertama Seperti yang ditunjukkan dalam gambar:
)

Seterusnya kita akan menggunakan nod untuk menyambung ke pangkalan data. Pembaca yang dihormati, anda boleh membuat secawan teh dan teruskan~.

Felixge/node-mysql ialah program klien MySQL yang dilaksanakan dalam nodej tulen menggunakan javascript. felixge/node-mysql merangkum operasi asas Nodejs pada MySQL, 100% lesen awam MIT.

Alamat projek: https://github.com/felixge/node-mysql

Pasang node-mysql dalam projek, masukkan folder myapp yang dibuat semalam, dan jalankan:

npm install mysql

Seterusnya, uji, ubah suai contoh di tapak web rasmi, masukkan ke dalam projek kami, ubah suai route/index.js dan mulakan semula ekspres

var express = require('express');
var router = express.Router();var mysql = require('mysql'); //调用MySQL模块
router.get('/', function(req, res) {
 res.render('index', {
 title: '孟星魂'
 });
 //创建一个connection
 var connection = mysql.createConnection({
 host: '127.0.0.1', //主机
 user: 'root', //MySQL认证用户名
 password: '111', //MySQL认证用户密码,没有测试没有密码时为空是否能登陆,不能的话设置下登陆密码
 port: '3306', //端口号
 database: 'nodesample'
 });
 //创建一个connection
 connection.connect(function(err) {
 if (err) {
 console.log('[query] - :' + err);
 return;
 }
 console.log('[connection connect] succeed!');
 });
 //执行SQL语句
 connection.query('SELECT 1 + 1 AS solution', function(err, rows, fields) {
 if (err) {
 console.log('[query] - :' + err);
 return;
 }
 console.log('The solution is: ', rows[0].solution);
 });
 //关闭connection
 connection.end(function(err) {
 if (err) {
 return;
 }
 console.log('[connection end] succeed!');
 });
});
module.exports = router;

Selepas membuka halaman, kesan paparan arahan adalah seperti berikut:

Ujian berjaya! ! , buat pangkalan data ujian di bawah

CREATE DATABASE IF NOT EXISTS nodesample CHARACTER SET UTF8;
USE nodesample;
SET FOREIGN_KEY_CHECKS=0;
DROP TABLE IF EXISTS `userinfo`;
CREATE TABLE `userinfo` (
 `Id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
 `UserName` varchar(64) NOT NULL COMMENT '用户名',
 `UserPass` varchar(64) NOT NULL COMMENT '用户密码',
 PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户信息表';

Kod ini boleh dijalankan terus dalam Navicat, cuma klik alatan, konsol, tampal dan tekan Enter.
Seterusnya, tambahkan sekeping data pada pangkalan data dan ubah suai route/index.js, seperti berikut

var express = require('express');
var router = express.Router();
var mysql = require('mysql'); //调用MySQL模块
router.get('/', function(req, res) {
 res.render('index', {
 title: '孟星魂'
 });
 //创建一个connection
 var connection = mysql.createConnection({
 host: '127.0.0.1', //主机
 user: 'root', //MySQL认证用户名
 password: '111', //MySQL认证用户密码
 port: '3306', //端口号
 database: 'nodesample'
 });
 //创建一个connection
 connection.connect(function(err) {
 if (err) {
 console.log('[query] - :' + err);
 return;
 }
 console.log('[connection connect] succeed!');
 });
 //执行SQL语句
 var userAddSql = 'INSERT INTO userinfo(Id,UserName,UserPass) VALUES(0,?,?)';
 var userAddSql_Params = ['Wilson', 'abcd'];
 //增
 connection.query(userAddSql, userAddSql_Params, function(err, result) {
 if (err) {
 console.log('[INSERT ERROR] - ', err.message);
 return;
 }
 console.log('--------------------------INSERT----------------------------');
 //console.log('INSERT ID:',result.insertId); 
 console.log('INSERT ID:', result);
 console.log('-----------------------------------------------------------------\n\n');
 });
 //关闭connection
 connection.end(function(err) {
 if (err) {
 return;
 }
 console.log('[connection end] succeed!');
 });
});

modul.eksport = penghala;

Mulakan semula ekspres, muat semula halaman, gesaan arahan memaparkan:

Paparan pangkalan data:

Baiklah, kini semua orang boleh mengendalikan pangkalan data Untuk beberapa operasi asas, sila rujuk http://www.cnblogs.com/zhongweiv/p/nodejs_mysql.html#mysql_mod, dan semak untuk penambahan. , pemadaman dan pengubahsuaian Semua diperkenalkan.

Perkara berikut harus memperkenalkan pangkalan data storan imej yang dimuat naik oleh semua orang, tetapi kami menghadapi beberapa masalah sebelum menyelesaikannya. Bahagian yang paling menarik akan ditinggalkan untuk esok~,
Masalah utama ialah penghalaan Halaman utama telah meminta templat Pada masa ini, adalah mustahil untuk menghantar data ke bahagian hadapan, jadi perisian tengah ekspres akan digunakan.

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn