NodeJS 和 MySQL

banq發表於2011-04-07
該文分享了使用NodeJS這個伺服器端Javascript如何操作MySQL,簡單有效。

首先安裝node-mysql

連線MySQL類似PHP和Perl:

var sys = require('sys');
 
var Client = require('mysql').Client;
var client = new Client();
 
client.user = 'someuser';
client.password = 'password';
 
client.connect(function(error, results) {
  if(error) {
    console.log('Connection Error: ' + error.message);
    return;
  }
  console.log('Connected to MySQL');
});
<p class="indent">


對MySQL進行資料插入和查詢語句如下:

var sys = require('sys');
 
var Client = require('mysql').Client;
var client = new Client();
 
client.user = 'someuser';
client.password = 'password';
 
console.log('Connecting to MySQL...');
 
client.connect(function(error, results) {
  if(error) {
    console.log('Connection Error: ' + error.message);
    return;
  }
  console.log('Connected to MySQL');
  ClientConnectionReady(client);
});
 
ClientConnectionReady = function(client)
{
    client.query('USE NodeSample', function(error, results) {
        if(error) {
            console.log('ClientConnectionReady Error: ' + error.message);
            client.end();
            return;
        }
        ClientReady(client);
    });
};
 
ClientReady = function(client)
{
  var values = ['Chad', 'Lung', 'Hello World'];
  client.query('INSERT INTO MyTable SET firstname = ?, lastname = ? , message = ?', values,
    function(error, results) {
      if(error) {
        console.log("ClientReady Error: " + error.message);
        client.end();
        return;
      }
      console.log('Inserted: ' + results.affectedRows + ' row.');
      console.log('Id inserted: ' + results.insertId);
    }
  );
  GetData(client);
}
 
GetData = function(client)
{
  client.query(
    'SELECT * FROM MyTable',
    function selectCb(error, results, fields) {
      if (error) {
          console.log('GetData Error: ' + error.message);
          client.end();
          return;
      }
      // Uncomment these if you want lots of feedback
      //console.log('Results:');
      //console.log(results);
      //console.log('Field metadata:');
      //console.log(fields);
      //console.log(sys.inspect(results));
 
      if(results.length > 0)
      {
        var firstResult = results[0];
        console.log('First Name: ' + firstResult['firstname']);
        console.log('Last Name: ' + firstResult['lastname']);
        console.log('Message: ' + firstResult['message']);
      }
  });
 
  client.end();
  console.log('Connection closed');
};
<p class="indent">


原文:

Using NodeJS with MySQL | Giant Flying Saucer

相關文章