1399/1/9، 01:34 عصر
به نام خدا؛
سلام دوستان امیدوارم حالتون خوب باشه...
امروز قصد داریم کد وارد کردن اطلاعات به دیتابیس MySQL رو از طریق زبان پرل با هم بررسی کنیم. همونطور که میدونین پرل (Perl) یکی از زبان های بسیار قدرتمند برای سمت سرور هست که اتفاقاً شباهت نسبی هم به PHP داره و میتونه توی پروژه هاتون حتی بهتر از PHP ظاهر بشه. برای اینکه از پرل در هاست خودتون استفاده کنین باید به دنبال پوشه cgi-bin باشین و توی این پوشه (دایرکتوری) کد پرل خودتون رو با فرمت .cgi ذخیره کنین تا بتونین اجراش کنین. البته از طریق همین دایرکتوری cgi-bin میشه کدهای پایتون (بهتر بگم django) و فلسک و ... رو هم اجرا کرد. حالا برای اینکه بخواین کدهای پرل یا پایتون خودتون رو خارج از این دایرکتوری هم بتونین اجرا کنین باید یک دستور رو در فایل .htaccess درج کنین.با درج این دستور قادر هستین که هم کدهای پایتون و هم پرل رو در هر دایرکتوری از هاست خودتون اجرا کنین. اما باید دقت داشته باشین که حتماً سیستم عامل وب سرورتون باید آپاچی (Apache) باشه و شرکت هاستینگ هم خودش اذعان کنه که امکان استفاده از پرل و پایتون هم وجود داره. چرا که همه هاست ها دایرکتوری cgi-bin رو ندارن. هاستهای رایگان که بعید میدونم بشه توشون کدهای پرل و پایتون رو اجرا کرد.
دلیل اینکه من روی پرل تأکید دارم به جای پایتون به این خاطره که شما برای اعمال یک متد GET ساده که بتونین یکسری دیتا رو از طریق URL توی برنامه اعمال کنین باید در پایتون از فلسک استفاده کنین که دشوار نیست ولی ممکنه در نگاه اول یک مقدار گیج کننده باشه. البته به زودی کدهای کاربردی پایتون رو هم منتشر میکنم.
از این مقدمات که بگذریم میرسیم به کد پرل که برای اتصال به دیتابیس MySQL ازش کمک میگیریم.
کد رو هم کامنت گذاری کردم تا کاملاً متوجه اتفاقاتی که میفته بشین.
من داخل این کد فرض کردم که قصد دارم سه پارامتر شماره تلفن و آیدی و نام رو وارد تیبل (tbl_name)دیتابیس خودم بکنم.توضیحات کد:
در کد بالا برای تعیین پارامترهایی که قراره در تیبل دیتابیس ثبت بشن از متد GET استفاده کردم که کاربر میتونه دقیقاً مشابه زبان PHP از طریق URL مقادیر مورد نظر خودش رو ثبت کنه. با ریکوئستی به شکل زیر:البته دقت داشته باشین استفاده از متد GET برای ترنسفر دیتاهای حیاتی به هیچ وجه توصیه نمیشه و باید از متد POST استفاده کرد. اینجا چون جنبه آموزش هست من از متد GET استفاده کردم.
شما در کد بالا باید به جای tbl_name نام تیبل خودتون رو وارد کنین. به نکته ای که راجع به نام دیتابیس در کامنت کدها هم ذکر شده دقت داشته باشین.
ممکنه در خط اول کد عبارت "#!/usr/bin/perl" رو مشاهده کنین و براتون سوال باشه که این عبارت دقیقاً برای چی درج شده. در واقع این عبارت در اولین خط کدهای پرل درج میشه برای شناساندن محل مفسر پرل به آپاچی که کد توسط آپاچی اجرا بشه.
امیدوارم این مطلب براتون مفید واقع شده باشه. خوشحال میشم نظراتتون رو گوشزد کنین.
سعی میکنم آموزش های بیشتری از پرل و پایتون منتشر کنم تا بتونین در کنار PHP و یا به تنهایی از این دو زبان استفاده کنین. اگر چه هنوز گزینه هایی مثل ASP.NET و Node.js هم که مشهور هستن باقی میمونه که چون یک مقدار پیش زمینه سی شارپ و جاوا اسکریپت نیاز هست ازشون صرف نظر میکنیم.
در مطالب دیگه سعی میکنم که راجع به دیتابیس های No SQL هم مطالبی قرار بدم تا بتونین با درخت های تصمیم کار کنین و کم کم به بحث MVC علاقه مند بشین. دیتابیس های No SQL مزیت های بیشتری نسبت به دیتابیس های SQL (مثل MySQL) دارن. مثلاً دیتابیس های SQL تنها روی یک سرور اجرا میشن و قابلیت توزیع شدن ندارن و اگر سرور داون بشه دیتابیس هم دچار مشکل میشه در حالی که در دیتابیس های No SQL اینطور نیست. سعی میکنم بیشتر شما رو با mongo DB که یک دیتابیس No SQL هست و کار با اون خیلی مشابه MySQL هست آشنا کنم. البته برای استفاده از هر دیتابیسی غیر از MySQL در زبان PHP که به صورت پیشفرض برای این زبان تعریف شده باید از کتابخانه ها یا یکسری کلاسهایی که نوشته شده استفاده کنین.
در مطالب آینده کد دریافت اطلاعات از دیتابیس MySQL توسط پرل رو هم قرار میدم.
با آرزوی بهترین ها...
سلام دوستان امیدوارم حالتون خوب باشه...
امروز قصد داریم کد وارد کردن اطلاعات به دیتابیس MySQL رو از طریق زبان پرل با هم بررسی کنیم. همونطور که میدونین پرل (Perl) یکی از زبان های بسیار قدرتمند برای سمت سرور هست که اتفاقاً شباهت نسبی هم به PHP داره و میتونه توی پروژه هاتون حتی بهتر از PHP ظاهر بشه. برای اینکه از پرل در هاست خودتون استفاده کنین باید به دنبال پوشه cgi-bin باشین و توی این پوشه (دایرکتوری) کد پرل خودتون رو با فرمت .cgi ذخیره کنین تا بتونین اجراش کنین. البته از طریق همین دایرکتوری cgi-bin میشه کدهای پایتون (بهتر بگم django) و فلسک و ... رو هم اجرا کرد. حالا برای اینکه بخواین کدهای پرل یا پایتون خودتون رو خارج از این دایرکتوری هم بتونین اجرا کنین باید یک دستور رو در فایل .htaccess درج کنین.
کد:
Options +ExecCGI
AddHandler cgi-script .py
AddHandler cgi-script .cgi
دلیل اینکه من روی پرل تأکید دارم به جای پایتون به این خاطره که شما برای اعمال یک متد GET ساده که بتونین یکسری دیتا رو از طریق URL توی برنامه اعمال کنین باید در پایتون از فلسک استفاده کنین که دشوار نیست ولی ممکنه در نگاه اول یک مقدار گیج کننده باشه. البته به زودی کدهای کاربردی پایتون رو هم منتشر میکنم.
از این مقدمات که بگذریم میرسیم به کد پرل که برای اتصال به دیتابیس MySQL ازش کمک میگیریم.
کد رو هم کامنت گذاری کردم تا کاملاً متوجه اتفاقاتی که میفته بشین.
من داخل این کد فرض کردم که قصد دارم سه پارامتر شماره تلفن و آیدی و نام رو وارد تیبل (tbl_name)دیتابیس خودم بکنم.
کد:
#!/usr/bin/perl
# استفاده از DBI برای اتصال به دیتابیس مای اس کیو ال در پرل
USE DBI QW(:sql_types);
#تعریف متغیرها
MY ($databaseName, $databaseUser, $databasePw, $dbh);
MY ($stmt, sth, @newRow);
MY ($telephone);
# تعریف مقدار متغیرها
# اطلاعات لازم جهت کانفیگ دیتابیس شامل پسورد و یوزرنیم و نام دیتابیس
# دقت کنین که شما باید نام دیتابیس خودتون رو به جای yourwebsite_come قرار بدین
$databaseName = "DBI:mysql:yourWebSite_com";
$databaseUser = "yourLoginId";
$databasePw = "yourLoginPassword";
# اتصال به دیتابیس
$dbh = DBI->connect($databaseName, $databaseUser,
$databasePw) || DIE "Connect failed: $DBI::errstr\n";
# تعریف کوئری
$stmt = "INSERT INTO tbl_name (Id, Name, Telephone)
VALUES ( $FORM{id}, $FORM{name}, $FORM{telephone})";
# در صورت بروز خطا در کوئری
$sth = $$dbh->prepare($$stmt)
|| DIE "prepare: $$stmt: $DBI::errstr";
$sth->execute || DIE "execute: $$stmt: $DBI::errstr";
# قطع اتصال به دیتابیس
$sth->finish();
$dbh->disconnect();
در کد بالا برای تعیین پارامترهایی که قراره در تیبل دیتابیس ثبت بشن از متد GET استفاده کردم که کاربر میتونه دقیقاً مشابه زبان PHP از طریق URL مقادیر مورد نظر خودش رو ثبت کنه. با ریکوئستی به شکل زیر:
کد:
http://yourhost.com/file.cgi?id=x&name=y&telephone=m
شما در کد بالا باید به جای tbl_name نام تیبل خودتون رو وارد کنین. به نکته ای که راجع به نام دیتابیس در کامنت کدها هم ذکر شده دقت داشته باشین.
ممکنه در خط اول کد عبارت "#!/usr/bin/perl" رو مشاهده کنین و براتون سوال باشه که این عبارت دقیقاً برای چی درج شده. در واقع این عبارت در اولین خط کدهای پرل درج میشه برای شناساندن محل مفسر پرل به آپاچی که کد توسط آپاچی اجرا بشه.
امیدوارم این مطلب براتون مفید واقع شده باشه. خوشحال میشم نظراتتون رو گوشزد کنین.
سعی میکنم آموزش های بیشتری از پرل و پایتون منتشر کنم تا بتونین در کنار PHP و یا به تنهایی از این دو زبان استفاده کنین. اگر چه هنوز گزینه هایی مثل ASP.NET و Node.js هم که مشهور هستن باقی میمونه که چون یک مقدار پیش زمینه سی شارپ و جاوا اسکریپت نیاز هست ازشون صرف نظر میکنیم.
در مطالب دیگه سعی میکنم که راجع به دیتابیس های No SQL هم مطالبی قرار بدم تا بتونین با درخت های تصمیم کار کنین و کم کم به بحث MVC علاقه مند بشین. دیتابیس های No SQL مزیت های بیشتری نسبت به دیتابیس های SQL (مثل MySQL) دارن. مثلاً دیتابیس های SQL تنها روی یک سرور اجرا میشن و قابلیت توزیع شدن ندارن و اگر سرور داون بشه دیتابیس هم دچار مشکل میشه در حالی که در دیتابیس های No SQL اینطور نیست. سعی میکنم بیشتر شما رو با mongo DB که یک دیتابیس No SQL هست و کار با اون خیلی مشابه MySQL هست آشنا کنم. البته برای استفاده از هر دیتابیسی غیر از MySQL در زبان PHP که به صورت پیشفرض برای این زبان تعریف شده باید از کتابخانه ها یا یکسری کلاسهایی که نوشته شده استفاده کنین.
در مطالب آینده کد دریافت اطلاعات از دیتابیس MySQL توسط پرل رو هم قرار میدم.
با آرزوی بهترین ها...