Heim  >  Artikel  >  Web-Frontend  >  Express implementiert Front-End- und Back-End-Kommunikation, um Bilder in die Speicherdatenbank (MySQL) hochzuladen. Narrensicheres Tutorial (2)_Javascript-Kenntnisse

Express implementiert Front-End- und Back-End-Kommunikation, um Bilder in die Speicherdatenbank (MySQL) hochzuladen. Narrensicheres Tutorial (2)_Javascript-Kenntnisse

WBOY
WBOYOriginal
2016-05-16 15:26:262557Durchsuche

Im letzten Artikel habe ich Ihnen vorgestellt Express implementiert Front-End- und Back-End-Kommunikation, um Bilder in die Speicherdatenbank (MySQL) hochzuladen. Dummkopf-Tutorial (1)

Die Datenbank ist wie der Titel, basierend auf der Open-Source-MySQL. Ich habe die dekomprimierte Version heruntergeladen (ich habe sie von Baidu, lade sie einfach von Baidu herunter), der Konfigurationsprozess http://www.jb51. net/article/ 76206.htm, während des Installationsprozesses habe ich lange nach einem Tutorial zum Konfigurieren der my.ini-Datei gesucht, also habe ich meine my.ini-Datei gepostet

[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 

Sie können sehen, dass mein MySQL im MySQL-Ordner installiert ist. Sie können es entsprechend Ihrem eigenen Pfad ändern.

Führen Sie es dann im Bin-Ordner aus

mysqld -install

Installieren Sie den MySQL-Dienst und starten Sie dann den Dienst.

net start mysql

Der obige Tutorial-Link zum Konfigurieren von MySQL enthält die Download-Adresse von Navicat für MySQL (ein visuelles Tool für MySQL) sowie Registrierungsinformationen. Schüler, die nicht die Befehlszeile eingeben möchten, können es herunterladen und verwenden ist bequemer.

 Melden Sie sich zum ersten Mal bei der Datenbank an

mysql -uroot -p

Drücken Sie einfach die Eingabetaste ohne Passwort.

(ps: Wenn ich die Datenbank während der Verwendung manuell ausfülle, werden bei der Eingabe von Chinesisch verstümmelte Zeichen angezeigt. Die Lösung lautet wie folgt: Klicken Sie mit der rechten Maustaste auf eine Datenbank, wählen Sie dann Datenbankeigenschaften aus, ändern Sie den Zeichensatz in das UTF8-Format. und wählen Sie das erste aus, wie im Bild gezeigt:
)

Als Nächstes verwenden wir den Knoten, um eine Verbindung zur Datenbank herzustellen. Liebe Leser, Sie können eine Tasse Tee kochen und weitermachen~.

Felixge/node-mysql ist ein MySQL-Client-Programm, das in reinen NodeJS mit Javascript implementiert ist. felixge/node-mysql kapselt die grundlegenden Operationen von Nodejs auf MySQL, 100 % öffentliche MIT-Lizenz.

Projektadresse: https://github.com/felixge/node-mysql

Installieren Sie node-mysql im Projekt, geben Sie den gestern erstellten myapp-Ordner ein und führen Sie Folgendes aus:

npm install mysql

Als nächstes testen, ändern Sie das Beispiel auf der offiziellen Website, fügen Sie es in unser Projekt ein, ändern Sie Routes/index.js und starten Sie Express neu

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;

Nach dem Öffnen der Seite ist der Befehlsanzeigeeffekt wie folgt:

Test erfolgreich! ! , erstellen Sie unten eine Testdatenbank

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='用户信息表';

Dieser Code kann direkt in Navicat ausgeführt werden. Klicken Sie einfach auf „Extras“, „Konsole“, „Einfügen“ und drücken Sie die Eingabetaste.
Fügen Sie als Nächstes ein Datenelement zur Datenbank hinzu und ändern Sie „routes/index.js“ wie folgt

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

module.exports = router;

Express neu starten, Seite aktualisieren, die Eingabeaufforderung wird angezeigt:

Datenbankanzeige:

Okay, jetzt kann jeder die Datenbank bedienen. Weitere Informationen zu einigen grundlegenden Vorgängen finden Sie unter http://www.cnblogs.com/zhongweiv/p/nodejs_mysql.html#mysql_mod> und prüfen Sie, ob Ergänzungen vorhanden sind , Löschungen und Änderungen werden alle eingeführt.

Im Folgenden soll die Bildspeicherdatenbank vorgestellt werden, die jeder hochgeladen hat, aber wir sind auf einige Fallstricke gestoßen, bevor wir sie gelöst haben. Der aufregendste Teil bleibt für morgen übrig ~,

Das Hauptproblem ist das Routing. Derzeit ist es nicht möglich, Daten an das Frontend zu senden. Daher wird Express-Middleware verwendet.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn