node.js鏈接mysql

 第一步html

    到node.js官網 下載相對應的node.js版本node

  

      通用的傻瓜式安裝,下一步下一步便可mysql

   第二步 開始node.js 初體驗web

         新建一個文件命名爲  hello.jssql

         內容以下數據庫

              

var http = require('http');
  http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World node.js \n');

  }).listen(1337, "127.0.0.1");
  console.log('Server running at http://127.0.0.1:1337/');

打開命令行 切換到腳本的路徑
node hello.js

瀏覽器訪問地址 :express

http://127.0.0.1:1337  
若是看到這個頁面,恭喜你進入node.js 世界

    

    咱們能夠嘗試分析下這段簡短的代碼npm

  • 第一行請求(require)Node.js 自帶的 http 模塊,而且把它賦值給 http 變量。
  • 接下來咱們調用 http 模塊提供的函數: createServer 。這個函數會返回 一個對象,這個對象有一個叫作 listen 的方法,這個方法有一個數值參數, 指定這個 HTTP 服務器監聽的端口號。

 第三步: 使用node.js  和mysql 進行鏈接瀏覽器

       node.js默認安裝時,模塊文件放在 /usr/local/lib/node_modules 這個目錄下;服務器

        node.js 鏈接mysql 須要使用一個node.js 一個組件,      

1 $ cd /usr/local/lib         
2 $ sudo npm install mysql 

     建立測試表

 /*
 Navicat Premium Data Transfer

 Source Server         : 127.0.0.1
 Source Server Type    : MySQL
 Source Server Version : 50617
 Source Host           : 127.0.0.1
 Source Database       : test

 Target Server Type    : MySQL
 Target Server Version : 50617
 File Encoding         : utf-8

 Date: 08/20/2014 23:55:29 PM
*/

SET NAMES utf8;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
--  Table structure for `user`
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `userid` int(3) NOT NULL,
  `username` varchar(50) DEFAULT NULL,
  `userage` int(3) DEFAULT NULL,
  PRIMARY KEY (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- ----------------------------
--  Records of `user`
-- ----------------------------
BEGIN;
INSERT INTO `user` VALUES ('1', 'admin', '100'), ('2', 'xainzhi', '101');
COMMIT;

SET FOREIGN_KEY_CHECKS = 1;

與數據庫鏈接獲取數據, 新建文件 sql.js
var mysql      = require('mysql');
var clinet = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  database : 'test',
  password : 'root',
  port:3306
});
 
clinet.connect();

 
 
    clinet.query('SELECT *  from user ', function(err, rows, fields) {
      if (err) throw err;
     
      var data = '';
        for(var i = 0; i < rows.length; i++){
             console.log('<p>' + '用戶id:' + rows[i].userid + '</p>');
             console.log('<p>' + '用戶姓名:' + rows[i].username+'</p>');
             console.log('<p>' + '用戶年齡:' + rows[i].userage + '</p>');
                 
        }
         
    });
 
 
clinet.end();

打開命令行 切換到腳本的路徑
node sql.js
運行的結果是這樣的

    可是控制打印終究不是很好,實際中給用戶看的數據是瀏覽器上觀看。

第四步

   將查詢出來的數據展現到瀏覽器上

         這裏須要安裝node.js web組件

    

sudo npm install -g express
sudo npm install -d   

 在瀏覽器展現調用js

新建文件 demo.js

var express = require('express');
var mysql = require('mysql');
var app = express();
 
app.use(function(req, res, next){
  console.log('%s %s', req.method, req.url);
  next();
});
 
var conn = mysql.createConnection({
    host:'localhost',
    user:'root',
    database:'test',
    password:'root',
    port:3306
});
 
conn.connect();
app.get('/', function(req, res){
 
    conn.query('SELECT * from user', function(err, rows, fields) {
        if (err) throw err;
        var data = '';
        for(var i = 0; i < rows.length; i++){
            data += '<p>' + '用戶id:' + rows[i].userid + '</p>';
            data += '<p>' + '用戶名:' + rows[i].username + '</p>';
            data += '<p>' + '年齡:' + rows[i].userage + '</p>';
            data += '<hr>';
        }
        res.send(data);
 
    });
});
 
app.listen(3000);
 
console.log('service URL:http://127.0.0.1:3000 ');

 

打開命令行 切換到腳本的路徑
node demo.js

  進行到這一步會報一個錯誤,

  Error: Cannot find module 'express'

  意思是找不到 express 組件 ,但到  /usr/local/lib/node_modules 下看時存在這個組件
這裏須要配置環境變量,才能使用這個組件
export NODE_PATH="/usr/local/lib/node_modules"

   如今總算能夠啦 ,看到這個畫面很親切。






    
      

 

  

  

 

 

 

    

 

 

 

 

 

 

       

 

 

                 

 

 

        

 

 

 

        

 

 

 

 

      

  

 

 

         

 

 

 

 

 

      這些是本身的一步步去研究的,若是有什麼不瞭解能夠去看下 w3cschool 看下node.js 教程

相關文章
相關標籤/搜索