Maison > interface Web > js tutoriel > Express implémente une communication frontale et back-end pour télécharger des images dans la base de données de stockage (mysql) tutoriel infaillible (2)_compétences javascript

Express implémente une communication frontale et back-end pour télécharger des images dans la base de données de stockage (mysql) tutoriel infaillible (2)_compétences javascript

WBOY
Libérer: 2016-05-16 15:26:26
original
2611 Les gens l'ont consulté

Dans le dernier article, je vous ai présenté Express implémente la communication front-end et back-end pour télécharger des images sur la base de données de stockage (mysql) tutoriel idiot (1)

La base de données est comme le titre, basée sur le mysql open source. J'ai téléchargé la version décompressée (je l'ai depuis Baidu, il suffit de la télécharger depuis Baidu), le processus de configuration http://www.jb51. net/article/ 76206.htm, pendant le processus d'installation, je cherchais depuis longtemps un tutoriel sur la configuration du fichier my.ini, j'ai donc posté mon fichier my.ini

[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 
Copier après la connexion

Vous pouvez voir que mon mysql est installé dans le dossier Mysql. Vous pouvez le modifier selon votre propre chemin.

Ensuite, exécutez-le dans le dossier bin

mysqld -install
Copier après la connexion

Installez le service mysql puis démarrez le service.

net start mysql
Copier après la connexion

Le lien du didacticiel ci-dessus pour configurer MySQL comprend l'adresse de téléchargement de Navicat pour MySQL (un outil visuel pour MySQL), ainsi que les informations d'inscription. Les étudiants qui ne souhaitent pas saisir la ligne de commande peuvent le télécharger et l'utiliser. est plus pratique.

 Connectez-vous à la base de données pour la première fois

mysql -uroot -p
Copier après la connexion

Appuyez simplement sur Entrée sans mot de passe.

(ps : lorsque je remplis manuellement la base de données pendant l'utilisation, il y aura des caractères tronqués lors de la saisie du chinois. La solution est la suivante : faites un clic droit sur une base de données, puis sélectionnez Propriétés de la base de données, modifiez le jeu de caractères au format utf8, et sélectionnez le premier Comme indiqué sur l'image :
)

Ensuite, nous utiliserons node pour nous connecter à la base de données. Chers lecteurs, vous pouvez préparer une tasse de thé et continuer~.

Felixge/node-mysql est un programme client MySQL implémenté en nodejs pur en utilisant javascript. felixge/node-mysql encapsule les opérations de base de Nodejs sur MySQL, licence publique 100% MIT.

Adresse du projet : https://github.com/felixge/node-mysql

Installez node-mysql dans le projet, entrez dans le dossier myapp créé hier et exécutez :

npm install mysql
Copier après la connexion

Ensuite, testez, modifiez l'exemple sur le site officiel, mettez-le dans notre projet, modifiez routes/index.js et redémarrez express

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;
Copier après la connexion

Après ouverture de la page, l'effet d'affichage de la commande est le suivant :

Test réussi ! ! , créez une base de données de test ci-dessous

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='用户信息表';
Copier après la connexion

Ce code peut être exécuté directement dans Navicat, cliquez simplement sur Outils, console, collez et appuyez sur Entrée.
Ensuite, ajoutez une donnée à la base de données et modifiez routes/index.js, comme suit

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!');
 });
});
Copier après la connexion

module.exports = routeur;

Redémarrez express, actualisez la page, l'invite de commande affiche :

Affichage de la base de données :

D'accord, tout le monde peut désormais utiliser la base de données. Pour certaines opérations de base, veuillez vous référer à http://www.cnblogs.com/zhongweiv/p/nodejs_mysql.html#mysql_mod et vérifier les ajouts. , suppressions et modifications. Tous sont introduits.

Ce qui suit devrait présenter la base de données de stockage d'images que tout le monde a téléchargée, mais nous avons rencontré quelques pièges avant de les résoudre. La partie la plus excitante sera laissée pour demain ~,
. Le principal problème est le routage. La page d'accueil a demandé un modèle pour le moment, il est impossible d'envoyer des données au front-end, donc un middleware express sera utilisé.

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal