node.js串連mysql

來源:互聯網
上載者:User

標籤:style   blog   http   color   使用   os   io   strong   

 第一步

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

  

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

   第二步 開始node.js 初體驗

         建立一個檔案命名為  hello.js

         內容如下

              

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

瀏覽器訪問地址 :

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

    

    我們可以嘗試分析下這段簡短的代碼

  • 第一行請求(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 expresssudo 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 教程

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.