مقدمه کار با پایگاه داده در Php

وقتی توسعه‌دهندگان از کار با پایگاه داده در Php حرف می‌زنند، منظور آنها MySQL است، DBMS بسیار محبوب که می‌تواند پروژه‌ها را در هر اندازه‌ای مدیریت کند. توانایی MySQL در مدیریت حجم زیادی از داده‌ها بدون اتلاف وقت و انرژی، یکی از بزرگترین نقاط قوت آن جهت فروش است.
سه روش برای کار با پایگاه داده در Php از طریق Backend وجود دارد که عبارت‌اند از:

  • MySQL
  • MySQLi
  • PDO

MySQL به دلیل مسائل امنیتی مانند تزریق SQL و غیره منسوخ شده است، اما دو مورد دیگر بطور فعال مورد استفاده قرار می‌گیرند. در ادامه به بررسی این دو روش می‌پردازیم.

نکته
دوره پیشنهادی: آموزش PHP مقدماتی

مقایسه PDO و MySQL و MySQLi

عمکرد MySQLi
MySQLi یک API است که با استفاده از Backend، باعث کار با پایگاه داده در Php می‌شود. این دیتابیس مجموعه بهتری از توابع و پسوندها را فراهم می‌کند. این دیتابیس دقیقاً مانند نسخه قبلی (MySQL) کار می‌کند اما ایمن‌تر و سریع‌تر است.

نمایش اطلاعات از دیتابیس با روش MySQLi Object-oriented:

در مثال زیر سه ستون شامل شماره کاربری، نام و نام خانوادگی وجود دارد. ما قصد داریم این سه فیلد را از جدول MyGuests انتخاب کنیم و آن را در صفحه نمایش دهیم. ابتدا اطلاعات شامل سرور، نام کاربری، رمز عبور و نام دیتابیس را می‌گیریم.سپس با new mysqli یک نمونه از آن ایجاد می‌کنیم و آن را در یک متغیر بنام conn می‌ریزیم. بعد چک می‌کنیم که خطایی صورت نگیرد.
حال برای انتخاب و نمایش اطلاعات پایگاه داده یا دیتابیس از دستور select استفاده می‌کنیم.در دستور select فیلدها را مشخص کرده و نام جدول را می‌نویسیم. خروجی را در یک متغیر بنام result قرار می‌دهیم.
اگر مقدار result بزرگ‌تر از صفر بود یک جدول ایجاد می‌شود.

دستور fetch در php:

با دستور fetch_assoc در php رکوردها را تک به تک خوانده و در متغیر row می‌ریزیم و آن را در جدول قرار می‌دهیم.
برای چاپ همه رکوردها از دستور while در Php استفاده می‌کنیم.سپس با دستور close اتصال را قطع می‌کنیم.

دستور fetch در php
دستور fetch در php

نمایش اطلاعات از دیتابیس با روش MySQLi Procedural:

برای نمایش اطلاعات ابتدا اطلاعات server ,username ,password و نام دیتابیس را مشخص می‌کنیم. سپس با دستور (mysqli_connect) اتصال را برقرار کرده و سپس چک می‌کنیم که خطایی صورت نگیرد. حال با دستور select، فیلدها و رکوردهایی را که می‌خواهیم انتخاب می‌کنیم.
با دستور (mysqli_query) خروجی را در متغیر result قرار می‌دهیم. با دستور (mysqli_num_rows) رکوردها را شمارش می‌کنیم و اگر بییشتر از صفر بود آن را در یک حلقه قرار می‌دهیم تا نمایش داده شود. با دستور (while) یک حلقه ایجاد می‌شود.با دستور (mysqli_fetch_assoc) هر رکورد را خوانده و سپس در یک متغیر row قرار خواهیم داد.
سپس اقدام به چاپ رکوردها خواهیم کرد. در انتها نیز با دستور close اتصال را قطع کرده و کد را به پایان می‌رسانیم.

نمایش اطلاعات از دیتابیس با روش MySQLi Procedural
نمایش اطلاعات از دیتابیس با روش MySQLi Procedural

عملکرد PDO

Php Data Object معروف به PDO یک لایه انتزاعی از پایگاه داده است. این دیتابیس مانند یک رابط است که با Backend پایگاه داده MySQL ارتباط برقرار می‌کند و باعث کار با پایگاه داده در Php شده سپس بدون ایجاد تغییر در کد Php، تغییراتی اعمال می‌کند. همچنین به شما این امکان را می‌دهد تا با چندین پایگاه داده کار کنید. مهمترین مزیت استفاده از PDO، ساده و قابل حمل بودن کد شما است.

نمایش اطلاعات از دیتابیس با روش PDO:

نخست با گرفتن سرور، یوزرنیم، پسورد و نام دیتابیس یک اتصال ایجاد می‌کنیم. سپس با دستور (select) اطلاعات را خوانده و با دستور (execute) اجرا می‌کنیم.
با دستور $(stmt->setFetchMode(PDO::FETCH_ASSOC اطلاعات را دریافت می‌کنیم و با حلقه foreach چاپ می‌کنیم.

نمایش اطلاعات از دیتابیس با روش PDO
نمایش اطلاعات از دیتابیس با روش PDO

نحوه ارسال اطلاعات به دیتابیس در php و اتصال ‎Database ‎MySQL با Php

1- ایجاد پایگاه داده MySQL در Localhost

  • پایگاه داده ایجاد کنید.
  • یک پوشه در htdocs ایجاد کنید.
  • پرونده اتصال به پایگاه داده در PHP را ایجاد کنید.
  • برای بررسی اتصال پایگاه داده خود و نمابش اطلاعات از دیتابیس، یک فایل php جدید ایجاد کنید.
  • اجرا کنید.

2- ایجاد پایگاه داده MySQL در Cloudways Server

  • اتصال پایگاه داده را ایجاد کنید.
  • رویه MySQLi را جست‌و‌جو کنید.
  • کار با پایگاه داده در php و ارتباط آن با MySQL و PDO
  • اتصال خود را بررسی کنید.

3- اتصال به MySQL از راه دور
4- برترین ابزارهای مدیریت MySQL

  • میز کار MySQL
  • Navicat برای MySQL
  • MySQL Yog
  • مدیر پایگاه داده Cloudways MySQL

5- نتیجه کار با پایگاه داده در Php

1- ایجاد پایگاه داده MySQL در Localhost

ابتدا اجازه دهید به شما بگوییم PHPMyAdmin چیست. PHPMyAdmin یک کنترل پنل است که با کمک آن می‌توانید کار با پایگاه داده در Php را مدیریت کنید. مرورگر خود را باز کنید و به localhost / PHPMyAdmin بروید یا در XAMPP UI روی “Admin” کلیک کنید.
هنگامی که XAMPP را برای اولین بار نصب کردید، فقط نام کاربری برای دسترسی نمایش داده می‌شود؛ اکنون باید خودتان یک رمز عبور به آن اضافه کنید. برای این منظور، باید به حساب کاربری بروید. هم‌اکنون روی Edit privileges کلیک کرده و به Change Admin password بروید، سپس گذرواژه خود را در آنجا تایپ کنید و آن را ذخیره کنید. این گذرواژه را به خاطر بسپارید زیرا برای اتصال به پایگاه داده شما استفاده خواهد شد.

تغییر پسورد PHPMyAdmin
تغییر پسورد PHPMyAdmin

توجه: برای دسترسی به پایگاه داده در localhost نیازی به تغییر رمز نیست.

  • ایجاد پایگاه داده

کار با پایگاه داده در Php و نمابش اطلاعات از دیتابیس، نیاز به ایجاد پایگاه داده دارد. اکنون به صفحه اصلی PHPMyAdmin بازگردید. برای ایجاد یک پایگاه داده جدید، روی دکمه New کلیک کنید.

ایجاد پایگاه داده
ایجاد پایگاه داده

در پنجره جدید، پایگاه داده خود را بر اساس نیاز خود نام‌گذاری کنید، برای مثال من نام آن را “practice” می گذارم. اکنون Collation را به عنوان utf8_general_ci انتخاب کنید؛ زیرا ما از آن برای اهداف یادگیری استفاده می‌کنیم و این collation همه سوالات و داده‌های ما که در این مجموعه آموزشی ایجاد می‌شود را مدیریت می کند. اکنون بر روی ایجاد کلیک کنید و پایگاه داده شما ایجاد می‌شود.
پایگاه داده تازه ایجاد شده، اکنون خالی خواهد بود؛ زیرا جداولی در آن وجود ندارد. ما این مبحث را در مجموعه‌های بعدی که در آن‌ها به شما آموزش می‌دهیم چگونه جداول ایجاد کرده و داده‌ها را در آن قرار دهیم، شرح خواهیم داد. در این آموزش، علاوه بر یادگیری کار با پایگاه داده در Php، ما قصد داریم این پایگاه داده را با استفاده از PHP به localhost متصل کنیم.

  • ایجاد یک پوشه در htdocs

اکنون، پوشه‌ای را که XAMPP نصب کرده‌اید قرار دهید و پوشه htdocs را باز کنید. یک پوشه جدید در داخل c: XAMPP/htdocs ایجاد کنید و نام آن را “تمرین” بگذارید. ما پرونده‌های وب را در این پوشه قرار خواهیم داد. چرا ما یک پوشه در htdocs ایجاد کرده‌ایم؟ XAMPP از پوشه‌ها در htdocs برای اجرای سایت‌های PHP شما استفاده می‌کند.

  • ایجاد اتصال و کار با پایگاه داده در Php

یک فایل PHP جدید ایجاد کنید و نام آن را db_connnection.php بگذارید و ذخیره کنید. چرا ما یک پرونده اتصال پایگاه داده جداگانه ایجاد می‌کنیم؟ زیرا اگر چندین پرونده ایجاد کرده‌اید که می‌خواهید در آن‌ها داده وارد کنید یا داده‌ها را از پایگاه داده انتخاب کنید، لازم نیست هر بار کد اتصال پایگاه داده را بنویسید. شما فقط باید آن را با استفاده از عملکرد سفارشی PHP شامل “connection.php” در بالای کد خود قرار دهید و عملکرد آن را فراخوانی کرده و از آن استفاده کنید. همچنین هنگامی که مکان پروژه خود را از یک رایانه به رایانه دیگر منتقل می‌کنید، باعث می‌شود لازم نباشد تمام مقادیر موجود در یک پرونده را تغییر دهید؛ بلکه همه تغییرات به طور خودکار بر روی سایر پرونده‌ها اعمال می‌شود. کد زیر را در db_connection خود بنویسید.

کدی که باید در db_connnection.php وارد شود
کد برای ایجاد اتصال و کار با پایگاه داده در Php
  • ایجاد فایل PHP جدید برای بررسی اتصال پایگاه داده

یک فایل PHP جدید ایجاد کنید تا به پایگاه داده خود متصل شوید. نام آن را index.php بگذارید و این کد اعمال کنید.

ایجاد فایل index.php
ایجاد فایل index.php

2- ایجاد پایگاه داده MySQL در Cloudways Server

برای این آموزش، تصور می‌کنیم که شما یک برنامه PHP روی وب سرور نصب کرده‌اید و آماده‌اید تا کار با پایگاه داده در Php را آغاز کنید. تنظیمات ما این است:

  • PHP 7.2
  • MySQL

از آنجا که می‌خواهیم به موضوع مورد بحث بپردازیم، تصمیم گرفتیم برنامه PHP در سرورهای مدیریت شده Cloudways میزبانی شود زیرا این سرور، میزبانی بسیار بهینه شده است و مدیریت آن بسیار آسان است. پس از راه‌اندازی موفقیت‌آمیز برنامه PHP در Cloudways، در برگه برنامه وارد شوید و جزئیات پایگاه داده را بررسی کنید. همچنین می‌توانید بر روی launch database manager کلیک کنید.

پایگاه داده MySQL در Cloudways Server
پایگاه داده MySQL در Cloudways Server
  • ایجاد اتصال برای کار با پایگاه داده در Php

اولین قدم ایجاد ارتباط با پایگاه داده است. برای این کار از تابع mysql_connect استفاده کنید. این عملکرد، نشانگر (که به عنوان بازو یا دسته‌ای از پایگاه داده نیز شناخته می‌شود) را به اتصال پایگاه داده برمی‌گرداند. بعداً از این دسته در کدنویسی استفاده می‌شود. پس از استفاده از دسته، به یاد داشته باشید که اطلاعات پایگاه داده خود را اضافه کنید.
یک فایل PHP جدید ایجاد کنید و نام آن را db_connnection.php بگذارید و ذخیره کنید. چرا باید برای ایجاد اتصال به پایگاه داده در Php، یک پرونده اتصال جداگانه ایجاد می کرد؟ زیرا اگر چندین پرونده ایجاد کرده‌اید که می‌خواهید در آنها داده وارد کنید یا داده‌ها را از پایگاه داده انتخاب کنید، لازم نیست هر بار کد اتصال پایگاه داده را بنویسید. شما فقط باید آن را با استفاده از عملکرد سفارشی PHP شامل “connection.php” در بالای کد خود قرار دهید و عملکرد آن را فراخوانی کرده و از آن استفاده کنید.

  • جست‌و‌جوی رویه MySQLi

روند رویه‌ی MySQLi به شیوه زیر است:

روند رویه‌ی MySQLi
روند رویه‌ی MySQLi
  • اتصال پایگاه داده MySQL برای کار با پایگاه داده در PHP با استفاده از PDO

روند کار از طریق PDO به شیوه زیر است:

روند کار از طریق PDO
روند کار از طریق PDO
  • بررسی اتصال

اتصال را با توجه به کد زیر بررسی کنید.

بررسی اتصال
بررسی اتصال

3- اتصال به MySQL از راه دور

برای اتصال MySQL از راه دور، با حساب خود وارد سیستم عامل Cloudways شوید. روی “سرورها” در بالای نوار منو کلیک کنید. سپس، از لیست بر روی سرور موردنظر خود کلیک کنید.

  • سپس، به گزینه Security menu در فهرست سمت چپ بروید و روی نشانگر MySQL کلیک کنید.
  • آدرس IP را در قسمت متن “Add IP to Whitelist” اضافه کنید و روی دکمه “Add” کلیک کنید.
  • اگر چندین آدرس IP دارید، این فرایند را تکرار کنید.

پس از پایان کار، بر روی دکمه ” Save Changes” کلیک کنید تا تغییرات نهایی شود.

اتصال به MySQL
اتصال به MySQL

پس از اتمام، لیست سفید IP را در اتصال تنظیم کنید و روند انجام شده را اجرا کنید.

4- برترین ابزارهای مدیریت MySQL برای کار با پایگاه داده در Php

  • میز کار MySQL

میز کار MySQL ، یک مدیر پایگاه داده بسیار محبوب برای توسعه‌دهندگان است. این ابزار مدیریتی که بسیار کاربردی است خدماتی مانند پیکربندی سرور، مدیریت کاربر و بسیاری موارد دیگر را فراهم می کند.
این ابزار برای سیستم عامل های MAC ، Linux و Windows موجود است.
ما به همه توسعه‌دهندگان تازه‌کار که می‌خواهند مدیریت پایگاه داده را بیاموزند توصیه می‌کنیم که از این ابزار برای بهبود کار خود استفاده کنند. ویژگی‌های میزکار MySQl، به آن‌ها در تسلط کامل بر مدیریت پایگاه داده کمک خواهد کرد.

  • Navicat برای MySQL

Navicat برای MySQL، تمام ابزارهای پیشرفته‌ای را که یک توسعه‌دهنده برای مدیریت کامل عملیات پایگاه داده خود نیاز دارد را فراهم می‌کند. سازگاری آن با پایگاه‌های داده ابری، استفاده از آن را در هنگام مدیریت یک برنامه Cloud، آسان‌تر می‌کند.

  • MySQL Yog

این ابزار مدیریت MySQL دارای سه بسته شامل Professional ، Enterprise و Pro است. بعد از آزمایش می‌توانید هر یک از آن‌ها را انتخاب کنید.
مدیران MySQL به راحتی می‌توانند با این سیستم عامل کار کنند و وظایف پایگاه داده خود را با کارایی بیشتر و بهتر انجام دهند. این ابزار فقط برای سیستم عامل ویندوز در دسترس است.

  • مدیر پایگاه داده Cloudways MySQL

مدیر پایگاه داده MySQL Cloudways یکی از مفیدترین و بهترین ابزار مدیریت MySQL برای توسعه‌دهندگان است. استفاده از آن به دلیل رابط کاربرپسند بسیار آسان است و کلیه ابزارهای مدیریت MySQL مورد نیاز مدیر پایگاه داده را فراهم می‌کند

5- نتیجه کار با پایگاه داده در Php

MySQL مانند ستون فقرات هر پروژه وب است. این ستون، می‌تواند گاهی CMS یا گاهی پلتفرمی جهت ردیابی کار آنلاین باشد؛ اما شما همواره برای پیگیری اطلاعات برنامه و کاربر و داده‌های سرور طی فرایندهای برنامه، به یک پایگاه داده (MySQL) نیاز دارید.
در این آموزش، دو چیز یاد گرفته‌ایم:

1- نحوه ایجاد یک پایگاه داده جدید
2- نحوه کار با پایگاه داده در PHP توسط MySQL

اکنون با ایجاد جداول در پایگاه‌های داده‌ای که جدیدا ایجاد شده، خود را برای ورود اطلاعات آماده کرده‌ایم.
امیدواریم مطلب فوق مفید بوده باشد. نظرات خود را با ما به اشتراک بگذارید.