吉吉于

Node.js连接MYSQL

弄了一上午,犯了很幼稚的错误,浪费了4个小时,不过也不算浪费时间,学习新知识就这样,得自己慢慢摸索,摸索的过程不算浪费时间…

好吧,今天介绍Node.js连接Mysql。

CMD下运行npm install mysql,默认安装到node/node_modules下,如图:

注意:这只是安装了Node.js需要的Mysql模块,具体运行还需要本地安装Mysql!上午就被卡在这里4个小时,希望你能够看到这个提示…避免再浪费时间。

如果你能直接想到要安装Mysql,那就是我智商有点低下了…

好吧,现在开启你的本地Mysql服务,我直接用的WAMP搞定的,查看进程里是否有一个mysqlid.exe在运行。

然后去建表:

最后,开始写代码!

var sys=require('util');
console.log('Connecting to MYSQL...');
var client=require('mysql').createClient({
	'host':'localhost',
	'port':'3306',
	'user':'root',
	'password':''
});
var date=new Date();
var createtime=date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate();
console.log(createtime);
console.log('Connected to MYSQL automatically.');

ClientConnectionReady=function(client){
	console.log('ClientConnectionReady.');
	client.query('USE LazyBlog',function(error,results){
		if(error){
			console.log('ClientConnectionReady Error:'+error.message);
			client.end();
			return;
		}
		ClientReady(client);
	});
}

ClientReady=function(client){
	var values=['Hello!','Lazynight',createtime];
	client.query('INSERT INTO posts SET title=?,content=?,createtime=?',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 posts',
		function selectZ(error,results,fields){
			if(error){
				console.log('GetData Error:'+error.message);
				client.end();
				return;
			}
			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('Title:'+firstResult['title']);
				console.log('Content:'+firstResult['content']);
				console.log('Createtime:'+firstResult['createtime']);

			}
		}
	);
	client.end();
	console.log('Connection closed.');
}

ClientConnectionReady(client);

运行结果:

 

OK,自己折腾吧,祝玩得愉快。

转载请注明:于哲的博客 » Node.js连接MYSQL