PDA

View Full Version : خواندن اطلاعات از MySQL با Node.js



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

1- ابتدا Node.js رو از سایت nodejs.org برای نسخه ی Windows دانلود و بعد نصبش می کنیم نصبش کاری نداره http://barnamenevis.org/images/smilies/yahoo/129.gif و مثل برنامه های دیگه براحتی قابل نصب هستش ، بعد از اینکه نصب شد به منو 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 بعد از وارد کردن دستور گفته شد طبیعتا" اتفاق خاصی نمیافته چرا که شما خروجی رو تو مرورگر خودتون باید ببینید http://barnamenevis.org/images/smilies/yahoo/115.gif پس
4 - مرورگر خودتون رو باز کنید ، توجه کنید مسیر مورد نظر لوکال هاست هستش با پورت 9999 پس ادرس
http://localhost:9999/ وارد کنید و خروجی مورد نظر رو مشاهده کنید

}

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

خوب تا ایجای کار Node.js رو نصب کردیم و تونستیم یک خروجی تو مرورگر ازش بگیریم حالا بریم سراغ کار با MySQL http://barnamenevis.org/images/smilies/yahoo/109.gif

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 بود http://barnamenevis.org/images/smilies/yahoo/109.gif حالا بریم تو ترمینال و وارد پوشه node بشیم و دستور node db.js رو وارد کنید تو همین ترمینال خروجی نمایش داده میشه

برای نمایش خروجی تو مرورگر روند کار فرق نداره فقط باید با دستور createServer یک سرور ایجاد کنید و دستورات مربوط به کار با MySQL درون شکمش بنویسید http://barnamenevis.org/images/smilies/yahoo/109.gif

H:Shojaei
یک شنبه 25 آبان 1393, 09:45 صبح
چرا حذف نداره پستا!!! :عصبانی++:

H:Shojaei
یک شنبه 25 آبان 1393, 09:50 صبح
خواستم پستو حذف کنم همچین گزینه ای نداشت!!!!!!!! ویرایش

arash691
دوشنبه 26 آبان 1393, 19:33 عصر
خواستم پستو حذف کنم همچین گزینه ای نداشت!!!!!!!! ویرایش

چرا ؟:متفکر: