بزرگترین تفریح برای من یادگیری هست.
10. استفاده از MySql در Node.JS
خب بنظرم یکم گنگ بود دو روز قبلی و خیلی یهویی از React وارد Node شدیم. حالا چند قدمی میریم عقب تر ، اگر حس کردید دو روز قبلی رو کامل متوجه نشدید ، اشکالی نداری بعد از خوندن این درس میتونید اونا رو مجددا بخونید.
اول کار که با Express یه پروژه Node ساختیم ، یک فایل به اسم App.js درست کردیم و از پورت 8000.
خب امروز میخوایم بیایم و یک دیتابیس درست کنیم و باهاش ارتباط بگیریم. نمیدونم چرا این آموزش های توی اینترنت اینقدر قضیه رو پیچیده میکنن! مطلب به این سادگی رو .
قدم اول : نصب mysql در ترمینال با دستور زیر mysql رو نصب کنید:(توجه کنید این کارهای توی API هست)
npm install mysql
قدم دوم : تعریف کردن Connection با دیتابیس
var mysql = require('mysql');
var con = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '123456',
database: 'clients'
})
گفتم ارتباط با دیتابیس؟ ولی ما که هنوز دیتابیسی نساختیم :))) راستش قرار نیست در این باره زیاد بحث کنم ، فقط محض کامل بود سریع میگم و رد میشم ( مشکلی بود دیگه زحمت سرچ در اون زمینه رو باید بکشید)
قدم یک و نیم: اول نرم افزار Xampp رو نصب میکنید( یه سرور لوکال هست) . بعد سرویس Apach و MySql رو ران میکنید و بعد وارد Admin بخش mySql میشید( که در واقع برنامه phpmyadmin هست).
یک Table می سازم به اسم siteusers با چهارتا ستون دلخواه
بعد میرم تو بخش UserAccount و رمز Root رو عوض میکنیم. یه نکته اینکه رمز رو که عوض کردید بعد باید برید توی مسیر نصب phpmyadmin و فایل config رو پیدا کنید و رمز رو توی اون فایل وارد کنید.
قدم سوم: برقراری ارتباط با دیتابیس:
con.connect(function(err){
if(err) throw err;
console.log('Connected!');
})
بعد از ران کردن برنامه باید ارتباط به درستی برقرار بشه و مشکلی نداشته باشید.
قدم چهارم: حالا نوبت این میشه که عملیات های مورد نظرمون رو در دیتابس انجام بدیم. شامل Insert و Select و... برای اینکار نیاز به Query یا همون دستورالعمل های دیتابیس داریم که چهارتا هستند و تعریفشون میکنیم:
var insertSql="INSERT INTO `siteusers`(`Name`, `Email`, `Age`, `Password`) VALUES (?)"
قدم پنجم: اجرای Query:
const values = [ ['amir' , '12345'] ]
con.query( insertSql , values , function ( err , result ) {
if ( err ) throw err ;
console.log ( result );
})
حالا ما اینجا به صورت دستی اطلاعات رو وارد کردیم ، اما بعدا این اطلاعات رو از فرمی جایی دریافت میکنیم. با ران کردن برنامه اطلاعات متغییر Var توی دیتابیس ذخیره میشه و نتیجه برگشتی از دیتابیس هم برامون به نمایش گذاشته میشه.
خب Query بعدی که Select باشه رو هم انتخاب میکنیم که کل دیتابیس رو بهمون نشون بده.
var selectSql="SELECT `Name`, `Email`, `Age`, `Password` FROM `siteusers` WHERE 1"
con.query(insertSql,values,function(err,result){
if(err) throw err;
console.log(result);
con.query(selectSql,function(err,result){
if(err) throw err;
console.log(result);
})
})
اجرای کوئیری Select رو داخل کال بک نوشتم که دیگه وقتی بدون خطا کار Insert رو انجام داد بیاد سراغ نمایش دیتابیس.
خب خسته نباشید ، با موفقیت اطلاعات رو توی دیتابیس ذخیره کردید و نمایش هم دادیم.
تو قسمت بعدی بریم یک فرم درست کنیم و اطلاعات رو از مرورگر Post کنیم به API و از اونجا هم به دیتابیس.
مطلبی دیگر از این انتشارات
پروژه دوم : سایت نظرسنجی
مطلبی دیگر از این انتشارات
9. ارتباط برنامه React با Express
مطلبی دیگر از این انتشارات
14. مدیریت خطاها در Express