PDA

View Full Version : آموزش اتصال به MySQL با Node.js



arash691
یک شنبه 26 مرداد 1393, 22:26 عصر
تو این آموزش قراره طریقه ی اتصال Node.js به MySQL و خواندن رکورد از یک جدول رو یاد بگیریم تا زمینه ای بشه برای کارای بزرگتر با Node.js ( پیشنیاز آشنایی با دستورات جاوا اسکریپت ) :

1- ابتدا Node.js رو از سایت nodejs.org برای نسخه ی Windows دانلود و بعد نصبش می کنیم نصبش کاری نداره :متفکر: و مثل برنامه های دیگه براحتی قابل نصب هستش ، بعد از اینکه نصب شد به منو Start برید و عبارت Node.js command prompt رو تایپ کنید تا ترمینال مربوط بهش باز بشه برای تست میتونید یک دستور js تایپ کنید تا خروجی رو مشاهده کنید مثلا" :
console.log("Hello Node.js");
مشاهده میکنید که عبارت مورد نظر چاپ شده البته برای نمایش درون مرورگر بصورت زیر عمل کنید {
*** یک فولدر تو مسیر
C:\node ایجاد میکنیم تا کدهای مورد نظر خودمون رو تو اون مسیر قرار بدیم
1- درون پوشه node یک فایل js بسازید به اسم hellonode
2- دستورات زیر رو درون قرار بدید :
var http = require("http"); // فراخوانی ماژول برای استفاده از http حکم include تو CPP رو داره.
http.createServer(function(request, response) { // ایجاد یک سرور
response.writeHead(200, {"Content-Type": "text/html"});
response.write("<html>"); // دستورات چاپ تگ های اچ تی ام ال
response.write("<head><title>Hello Node.js</title></head>");
response.write("<body>Hello Web</body>");
response.write("</html>");
response.end();
}).listen(9999); // تعین یک پورت آزاد

3- خوب حالا باید درون ترمینال node.js یا cmd ویندوز ابتدا وارد پوشه node بشیم پس دستور
cd c:/node/ رو تایپ کنید سپس Enter بزنید که حالا node منتظر اجرای درخواست شماست ، پس کافی هستش بگیم که فایل مارو اجرا کنه
node hellonode.js بعد از وارد کردن دستور گفته شد طبیعتا" اتفاق خاصی نمیافته چرا که شما خروجی رو تو مرورگر خودتون باید ببینید :بامزه: پس
4 - مرورگر خودتون رو باز کنید ، توجه کنید مسیر مورد نظر لوکال هاست هستش با پورت 9999 پس ادرس
http://localhost:9999/ وارد کنید و خروجی مورد نظر رو مشاهده کنید

}

اگه از xampp یا wampp برای کار با mysql استفاده میکنید سرور mysql رو فعال کنید :

خوب تا ایجای کار Node.js رو نصب کردیم و تونستیم یک خروجی تو مرورگر ازش بگیریم حالا بریم سراغ کار با MySQL :لبخند:

3- برای کار با MySQL نیاز هستش ... npm اون رو نصب کنیم برای این کار مراحل زیر رو دنبال کنید {

وارد ترمینال Node.js بشید و دستور nmp install mysql رو تایپ و Enter بزنید یه چند ثانیه طول میکشه و عمل نصب انجام میشه ( من خودم وقتی داشتم نصب می کردم یک Error با این مضمون بهم داد :


ENOENT C:\Users\Arash\AppData\Roaming\nmp\ یعنی مسیری با این مورد وجود نداره اگه شما هم با این خطا مواجه شدید همین مسیر رو دنبال کنید و یک پوشه به اسم nmp

بسازید و دوباره دستور نصب رو وارد کنید و نصب انجام میشه )

}

4- حالا بریم سراغ کد نویسی ، اول یک فایل به اسم db.js درون پوشه node ایجاد کنید

ابتدا نیاز داریم که ماژول MySQL رو فراخوانی کنیم تا از دستوراتش برای کارای خودمون بتونیم استفاده کنیم :

var mysql = require('mysql');

5 - طبق معمول برای کار با دیتابیس باید یک اتصال برقرار کنیم تو Node.js هم همینطوره :

var connection = mysql.createConnection({
host : 'localhost', // هاست
user : 'root', // نام کاربری
password : '', // رمز ورود
database : 'db1' // نام دیتابیس

});

فکر نکنم نیاز به توضیح دیگه داشته باشه بااستفاده از mysql به createConnection که یک اتصال برای کار با MySQL ایجاد میکنه میرسیم و مشخصات مورد نظر رو وارد می کنیم من تو این مثال داشتم با دیتابیس db1 کار می کردم شما اسم دیتابیس خودتون رو وارد کنید ، اپشن های زیادی وجود داره مثلا" بوسیله ی IP هم قابلیت اتصال به بانک وجود داره و موارد دیگه که تو داکیومنتش موجوده

6 - حالا میخوایم کوئری بنویسیم تابع query رو بوسیله ی mysql فراخوانی میکنیم دوتا پارامتر میخواد اولی : کوئری ، دومی : یک تابع برای نمایش و بررسی خطای ممکن در اجرای کوئری :

connection.query('SELECT * FROM `student`', function(err, rows, fields) {
if (err) throw err;
console.log('The rows are: ', rows);
});

7 - در انتها کافی هستش connection رو ببندیم

connection.end();

اینم کل کدهایی که نوشته شد :

var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '',
database : 'db1'

});
connection.connect();
connection.query('SELECT * FROM `student`', function(err, rows, fields) {
if (err) throw err;
console.log('The rows are: ', rows);
});
connection.end();

کار کد نویسی دیگه تموم شد ... روند کارش مثله PHP بود :لبخند: حالا بریم تو ترمینال و وارد پوشه node بشیم و دستور node db.js رو وارد کنید تو همین ترمینال خروجی نمایش داده میشه

برای نمایش خروجی تو مرورگر روند کار فرق نداره فقط باید با دستور createServer یک سرور ایجاد کنید و دستورات مربوط به کار با MySQL درون شکمش بنویسید :لبخند:

محمد فدوی
دوشنبه 27 مرداد 1393, 10:46 صبح
:تشویق: :تشویق: :تشویق:
هرچند یکم بعیده! ولی امیدوارم این بخش احیا بشه.
از شمام ممنونم. آموزش خوب و مفیدی بود.

arash691
دوشنبه 27 مرداد 1393, 11:21 صبح
:تشویق: :تشویق: :تشویق:
هرچند یکم بعیده! ولی امیدوارم این بخش احیا بشه.
از شمام ممنونم. آموزش خوب و مفیدی بود.

من هم امیدوارم ... و از نظرتون ممنونم . درنظر دارم هرموقع که وقت کردم آموزش هایی به اینصورت قرار بدم تا دیگران هم جذب بشن بعلاوه دارم روی ساختن چت روم با Node.js کار میکنم که اگه چیز خوبی در اومد بصورت آموزشی درش میارم و اینجا قرار خواهم داد

chaown
چهارشنبه 19 آذر 1393, 08:10 صبح
من یه صفحه دارم که با html درست شده حالا میخوام یه قسمتش یا چند قسمته خواصش ( مثلا لیست خبرها ) فقط از دیتا بیس بخونه چکار باید بکنم؟
یه صفحه دارم الان ولس از node استفاده نکردم توش حالا می خوام یه جاهاییش از دیتا بیس واکشی کنه چکار باید کنم؟

مرسی

Mousavmousab
دوشنبه 13 بهمن 1393, 20:42 عصر
تو این آموزش قراره طریقه ی اتصال Node.js به MySQL و خواندن رکورد از یک جدول رو یاد بگیریم تا زمینه ای بشه برای کارای بزرگتر با Node.js ( پیشنیاز آشنایی با دستورات جاوا اسکریپت ) :

1- ابتدا Node.js رو از سایت nodejs.org برای نسخه ی Windows دانلود و بعد نصبش می کنیم نصبش کاری نداره :متفکر: و مثل برنامه های دیگه براحتی قابل نصب هستش ، بعد از اینکه نصب شد به منو Start برید و عبارت Node.js command prompt رو تایپ کنید تا ترمینال مربوط بهش باز بشه برای تست میتونید یک دستور js تایپ کنید تا خروجی رو مشاهده کنید مثلا" :
console.log("Hello Node.js");
مشاهده میکنید که عبارت مورد نظر چاپ شده البته برای نمایش درون مرورگر بصورت زیر عمل کنید {
*** یک فولدر تو مسیر
C:\node ایجاد میکنیم تا کدهای مورد نظر خودمون رو تو اون مسیر قرار بدیم
1- درون پوشه node یک فایل js بسازید به اسم hellonode
2- دستورات زیر رو درون قرار بدید :
var http = require("http"); // فراخوانی ماژول برای استفاده از http حکم include تو CPP رو داره.
http.createServer(function(request, response) { // ایجاد یک سرور
response.writeHead(200, {"Content-Type": "text/html"});
response.write("<html>"); // دستورات چاپ تگ های اچ تی ام ال
response.write("<head><title>Hello Node.js</title></head>");
response.write("<body>Hello Web</body>");
response.write("</html>");
response.end();
}).listen(9999); // تعین یک پورت آزاد

3- خوب حالا باید درون ترمینال node.js یا cmd ویندوز ابتدا وارد پوشه node بشیم پس دستور
cd c:/node/ رو تایپ کنید سپس Enter بزنید که حالا node منتظر اجرای درخواست شماست ، پس کافی هستش بگیم که فایل مارو اجرا کنه
node hellonode.js بعد از وارد کردن دستور گفته شد طبیعتا" اتفاق خاصی نمیافته چرا که شما خروجی رو تو مرورگر خودتون باید ببینید :بامزه: پس
4 - مرورگر خودتون رو باز کنید ، توجه کنید مسیر مورد نظر لوکال هاست هستش با پورت 9999 پس ادرس
http://localhost:9999/ وارد کنید و خروجی مورد نظر رو مشاهده کنید

}

اگه از xampp یا wampp برای کار با mysql استفاده میکنید سرور mysql رو فعال کنید :

خوب تا ایجای کار Node.js رو نصب کردیم و تونستیم یک خروجی تو مرورگر ازش بگیریم حالا بریم سراغ کار با MySQL :لبخند:

3- برای کار با MySQL نیاز هستش ... npm اون رو نصب کنیم برای این کار مراحل زیر رو دنبال کنید {

وارد ترمینال Node.js بشید و دستور nmp install mysql رو تایپ و Enter بزنید یه چند ثانیه طول میکشه و عمل نصب انجام میشه ( من خودم وقتی داشتم نصب می کردم یک Error با این مضمون بهم داد :


ENOENT C:\Users\Arash\AppData\Roaming\nmp\ یعنی مسیری با این مورد وجود نداره اگه شما هم با این خطا مواجه شدید همین مسیر رو دنبال کنید و یک پوشه به اسم nmp

بسازید و دوباره دستور نصب رو وارد کنید و نصب انجام میشه )

}

4- حالا بریم سراغ کد نویسی ، اول یک فایل به اسم db.js درون پوشه node ایجاد کنید

ابتدا نیاز داریم که ماژول MySQL رو فراخوانی کنیم تا از دستوراتش برای کارای خودمون بتونیم استفاده کنیم :

var mysql = require('mysql');

5 - طبق معمول برای کار با دیتابیس باید یک اتصال برقرار کنیم تو Node.js هم همینطوره :

var connection = mysql.createConnection({
host : 'localhost', // هاست
user : 'root', // نام کاربری
password : '', // رمز ورود
database : 'db1' // نام دیتابیس

});

فکر نکنم نیاز به توضیح دیگه داشته باشه بااستفاده از mysql به createConnection که یک اتصال برای کار با MySQL ایجاد میکنه میرسیم و مشخصات مورد نظر رو وارد می کنیم من تو این مثال داشتم با دیتابیس db1 کار می کردم شما اسم دیتابیس خودتون رو وارد کنید ، اپشن های زیادی وجود داره مثلا" بوسیله ی IP هم قابلیت اتصال به بانک وجود داره و موارد دیگه که تو داکیومنتش موجوده

6 - حالا میخوایم کوئری بنویسیم تابع query رو بوسیله ی mysql فراخوانی میکنیم دوتا پارامتر میخواد اولی : کوئری ، دومی : یک تابع برای نمایش و بررسی خطای ممکن در اجرای کوئری :

connection.query('SELECT * FROM `student`', function(err, rows, fields) {
if (err) throw err;
console.log('The rows are: ', rows);
});

7 - در انتها کافی هستش connection رو ببندیم

connection.end();

اینم کل کدهایی که نوشته شد :

var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '',
database : 'db1'

});
connection.connect();
connection.query('SELECT * FROM `student`', function(err, rows, fields) {
if (err) throw err;
console.log('The rows are: ', rows);
});
connection.end();

کار کد نویسی دیگه تموم شد ... روند کارش مثله PHP بود :لبخند: حالا بریم تو ترمینال و وارد پوشه node بشیم و دستور node db.js رو وارد کنید تو همین ترمینال خروجی نمایش داده میشه

برای نمایش خروجی تو مرورگر روند کار فرق نداره فقط باید با دستور createServer یک سرور ایجاد کنید و دستورات مربوط به کار با MySQL درون شکمش بنویسید :لبخند:



سلام


هم استانی بابلسری ، اگر امکان داره شما همین آموزشو به صورت ویئویی در بیار و تو سایت picofile.com ,آپلودش کن . این طوری هم برای شما آسون تر میشه و هم برای کسی که داره آموزش میبینه.

البته این نظر من بود.
در کل دمت گرم.