


Express implements front-end and back-end communication to upload pictures to the storage database (mysql) fool-proof tutorial (2)_javascript skills
In the last article, I introduced to you Express implements front-end and back-end communication to upload pictures to the storage database (mysql) fool tutorial (1)
The database is like the title, using open source mysql as the basis. I downloaded the decompressed version (I have it from Baidu, just download it from Baidu), the configuration process http://www.jb51.net/article/ 76206.htm, during the installation process, I have been looking for a tutorial on configuring the my.ini file for a long time, so I posted my my.ini file
[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
You can see that my mysql is installed in the Mysql folder. You can modify it according to your own path.
Then run it in the bin folder
mysqld -install
Install the mysql service and then start the service.
net start mysql
The above tutorial link for configuring mysql includes the download address of navicat for mysql (a visual tool for mysql), as well as registration information. Students who do not want to type in the command line can download and use it, which is more convenient.
Log in to the database for the first time
mysql -uroot -p
Just press Enter without password.
(ps: When I manually fill in the database during use, there will be garbled characters when entering Chinese. The solution is as follows: right-click a database, then select Database Properties, modify the character set to utf8 format, and select the first one. As shown in the picture:
)
Now we will use node to connect to the database. Dear readers, you can make a cup of tea and continue~.
Felixge/node-mysql is a MySQL client program implemented in pure nodejs using javascript. felixge/node-mysql encapsulates the basic operations of Nodejs on MySQL, 100% MIT public license.
Project address: https://github.com/felixge/node-mysql
Install node-mysql in the project, enter the myapp folder created yesterday, and run:
npm install mysql
Next, test, modify the example on the official website, put it into our project, modify routes/index.js, and restart 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;
After opening the page, the command display effect is as follows:
Test successful! ! , create a test database below
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='用户信息表';
This code can be run directly in Navicat, just click tools, console, paste, and press Enter.
Next, add a piece of data to the database and modify routes/index.js, as follows
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;
Restart express, refresh the page, the command prompt displays:
Database display:
Okay, now everyone can operate the database. For some basic operations, please refer to http://www.cnblogs.com/zhongweiv/p/nodejs_mysql.html#mysql_mod, and check for additions, deletions and modifications. All are introduced.
The following should introduce the image storage database that everyone uploaded, but we encountered some pitfalls before solving them. The most exciting part will be left for tomorrow~,
The main problem is routing. The homepage has requested a template. At this time, data cannot be sent to the front end, so express middleware will be used. Good night everyone~.

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Detailed explanation of JavaScript string replacement method and FAQ This article will explore two ways to replace string characters in JavaScript: internal JavaScript code and internal HTML for web pages. Replace string inside JavaScript code The most direct way is to use the replace() method: str = str.replace("find","replace"); This method replaces only the first match. To replace all matches, use a regular expression and add the global flag g: str = str.replace(/fi

So here you are, ready to learn all about this thing called AJAX. But, what exactly is it? The term AJAX refers to a loose grouping of technologies that are used to create dynamic, interactive web content. The term AJAX, originally coined by Jesse J

10 fun jQuery game plugins to make your website more attractive and enhance user stickiness! While Flash is still the best software for developing casual web games, jQuery can also create surprising effects, and while not comparable to pure action Flash games, in some cases you can also have unexpected fun in your browser. jQuery tic toe game The "Hello world" of game programming now has a jQuery version. Source code jQuery Crazy Word Composition Game This is a fill-in-the-blank game, and it can produce some weird results due to not knowing the context of the word. Source code jQuery mine sweeping game

Article discusses creating, publishing, and maintaining JavaScript libraries, focusing on planning, development, testing, documentation, and promotion strategies.

This tutorial demonstrates how to create a captivating parallax background effect using jQuery. We'll build a header banner with layered images that create a stunning visual depth. The updated plugin works with jQuery 1.6.4 and later. Download the

Matter.js is a 2D rigid body physics engine written in JavaScript. This library can help you easily simulate 2D physics in your browser. It provides many features, such as the ability to create rigid bodies and assign physical properties such as mass, area, or density. You can also simulate different types of collisions and forces, such as gravity friction. Matter.js supports all mainstream browsers. Additionally, it is suitable for mobile devices as it detects touches and is responsive. All of these features make it worth your time to learn how to use the engine, as this makes it easy to create a physics-based 2D game or simulation. In this tutorial, I will cover the basics of this library, including its installation and usage, and provide a

This article demonstrates how to automatically refresh a div's content every 5 seconds using jQuery and AJAX. The example fetches and displays the latest blog posts from an RSS feed, along with the last refresh timestamp. A loading image is optiona

The article discusses strategies for optimizing JavaScript performance in browsers, focusing on reducing execution time and minimizing impact on page load speed.
