نحوه اتصال دیتابیس MySQL به وب سایت های PHP

در این مقاله از لیداوب با نحوه ایجاد ارتباط بین دیتابیس MySQL و وب سایت‌های ایجاد شده با زبان برنامه نویسی PHP آشنا خواهید شد. با ما همراه باشید.


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

ایجاد دیتابیس MySQl در لوکال هاست

ابتدا، باید بدانیم که PHPMyAdmin چیست؟ این در واقع یک کنترل پنل است که از طریق آن می‌توانید دیتابیسی که ایجاد کرده‌اید را مدیریت کنید. مرورگر خود را باز کرده و به آدرس localhost/PHPMyAdmin رفته یا روی "Admin" در XAMPP UI کلیک کنید. وقتی ابتدا XAMPP را نصب می‌کنید تنها یک نام کاربری برای دسترسی به آن ایجاد می‌شود. حالا باید خودتان یک کلمه عبور برای آن تعیین کنید. برای این منظور، باید به حساب کاربری رفته که کاربر آن با آنچه در تصویر زیر نشان داده می‌شود& یکسان باشد:

اتصال دیتابیس MySQL با وب سایت های PHP

حالا روی Edit privilege کلیک کرده و به Change Admin Password بروید، کلمه عبور خود را تایپ کرده و آن را ذخیره کنید. این کلمه عبور را به خاطر بسپارید چون از آن برای اتصال به دیتابیس استفاده خواهید کرد:

اتصال دیتابیس MySQL با وب سایت های PHP

توجه داشته باشید که تغییر کلمه عبور برای دسترسی به دیتابیس‌های روی لوکال هاست ضروری نیست.

ایجاد دیتابیس

حالا به صفحه اصلی phpmyadmin برگردید و روی دکمه New کلیک کرده و یک دیتابیس جدید ایجاد کنید:

اتصال دیتابیس MySQL با وب سایت های PHP

در پنجره جدید، دیتابیس خود را نام‌گذاری کنید. در اینجا ما آن را Practice نامیدیم. حالا Collation را به صورت utf8_general_ci انتخاب کنید چون ما از آن به منظور یادگیری استفاده می‌کنیم که تمام کوئری‌ها و داده‌هایی که در این مقاله آموزشی وجود دارند را مدیریت و اجرا می‌کند. حالا روی دکمه Create کلیک کنید تا دیتابیس شما ایجاد شود:

اتصال دیتابیس MySQL با وب سایت های PHP

اکنون دیتابیسی که ایجاد کرده‌اید خالی است چون هیچ جدولی در آن وجود ندارد. حالا می‌خواهیم این دیتابیس را با استفاده از PHP به یک لوکال هاست متصل کنیم:

اتصال دیتابیس MySQL با وب سایت های PHP

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

حالا پوشه را در جایی که XAMPP نصب کرده‌اید، قرار دهید و پوشه htdocs را باز کنید (معمولا در آدرس c:/xampp قرار دارد). در آدرس c:/xampp/htdocs/ یک پوشه جدید ایجاد کرده و آن را "practice" بنامید. ما فایل‌های وب را در این پوشه قرار خواهیم داد. چرا در htdocs یک پوشه ایجاد کردیم؟ چون XAMPP از پوشه‌های موجود در htdocs برای اجرای سایت‌های PHP استفاده خواهد کرد. توجه داشته باشید که اگر از WAMP استفاده می‌کنید، در این صورت پوشه practice خود را در پوشه c:/wamp/www اضافه کنید.

ایجاد فایل Database Connection با PHP

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

<?php

function OpenCon()
 {
 $dbhost = "localhost";
 $dbuser = "root";
 $dbpass = "1234";
 $db = "example";


 $conn = new mysqli($dbhost, $dbuser, $dbpass,$db) or die("Connect failed: %s\n". $conn -> error);


 return $conn;
 }

function CloseCon($conn)
 {
 $conn -> close();
 }

?>

در اینجا هر یک از متغیرهایی که در فایل db_connection خود استفاده کردیم را توضیح می‌دهیم:

۱. $dbhost در واقع هاستی است که سرور شما در آن اجرا می‌شود و معمولا لوکال هاست است.

۲. $dbuser نام کاربری است یعنی root و $dbpass کلمه عبوری است که با کلمه عبور دسترسی به phpmyadmin یکسان می‌باشد.

۳. $dbname نام دیتابیسی است که ما در این مقاله ایجاد کردیم.

ایجاد فایل جدید php برای بررسی دیتابیس کانکشن

یک فایل php جدید ایجاد کنید و آن را به دیتابیس خود متصل کنید. آن را index.php نامیده و این کد را به این فایل اضافه کنید:

<?php
include 'db_connection.php';

$conn = OpenCon();

echo "Connected Successfully";

CloseCon($conn);

?>

حالا مرورگر خود را باز کرده و به آدرس localhost/practice/index.php بروید. باید با این پیغام رو به رو شوید:

اتصال دیتابیس MySQL با وب سایت های PHP

اکنون، شما موفق شدید به صورت موفقیت‌آمیز دیتابیس خود را به لوکال هاست متصل کنید. اگر این صفحه را مشاهده نکردید، بررسی کنید آیا همه کارها را به درستی در فایل db_connection.php انجام داده‌اید.

ایجاد دیتابیس MySQL در سرور Cloudways

برای این مقاله آموزشی، فرض می‌کنیم شما یک اپلیکیشن php نصب شده بر روی یک وب سرور دارید. Setup ما به این صورت است:

- PHP 7.2

- MySQL

می‌خواهیم اپلیکیشن php خود را روی سرورهای مدیریت شده Cloudways هاست کنیم چون یک هاست بهینه سازی شده دریافت می‌کنیم و مشکلات مدیریت سرور را هم نخواهیم داشت. می‌توانید با ایجاد حساب کاربری در Cloudways از آن به صورت رایگان استفاده کنید و از گیف زیر برای راه اندازی سرور و اپلیکیشن php خود استفاده کنید:

اتصال دیتابیس MySQL با وب سایت های PHP

پس از راه اندازی موفق اپلیکیشن php روی Cloudways، به تب application رفته و مشخصات دیتابیس را چک کنید:

اتصال دیتابیس MySQL با وب سایت های PHP

ایجاد Database Connection 

اولین مرحله کار این است که یک کانکشن به دیتابیس ایجاد کنید. برای این منظور از تابع mysql_connect استفاده کنید. این تابع یک pointer به دیتابیس کانکشن باز می‌گرداند. این handle بعدا در کدها به کار خواهد رفت. وقتی آن را به دست آوردید، مشخصات دیتابیس را اضافه کنید. یک فایل php جدید اضافه کرده و آن را db_connection.php نامیده و ذخیره کنید. چرا یک فایل جداگانه ایجاد کردیم؟ چون اگر چندین فایل ایجاد کرده باشید و بخواهید در آن‌ها داده‌ای را وارد کنید یا داده‌ای را از دیتابیس انتخاب کنید، دیگر نیازی نیست هر بار برای database connection را کدنویسی کنید. فقط باید از تابع include در بالای کد خود استفاده کرده و آن تابع را فراخوانی و استفاده کنید. در این مرحله، می توانید یا از MySQLi Proceural Query و یا از کانکشن PHP PDO based استفاده کنید:

MySQLi Proceural Query

<?php

$servername = "localhost";

$username = "username";

$password = "password";

$db = "dbname";



// Create connection

$conn = mysqli_connect($servername, $username, $password,$db);



// Check connection

if (!$conn) {

   die("Connection failed: " . mysqli_connect_error());

}

echo "Connected successfully";

?>

اتصال دیتابیس MySQL با PHP با استفاده از PDO

<?php

$servername = "localhost";

$username = "username";

$password = "password";

$db = "dbname";



try {

   $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password, $db);

   // set the PDO error mode to exception

   $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

   echo "Connected successfully";

   }

catch(PDOException $e)

   {

   echo "Connection failed: " . $e->getMessage();

   }

?>
بررسی کانکشن
<?php

include 'db_connection.php';



echo "Connected Successfully";

mysqli_close($conn);

?>

برای PDO کانکشن را به این صورت ببندید:

$conn = null;

اتصال دیتابیس MySQL با وب سایت های PHP

Remote MySQL

برای کانکشن Remote MySQL وارد پلتفرم Cloudways شده و روی Servers در نوار منوی بالا کلیک کنید، سپس روی سرور مورد نظر خود از لیست کلیک کنید.

- سپس گزینه Security در سمت چپ منو را انتخاب کرده و روی تب MySQL کلیک کنید.

- آدرس IP را به محیط متنی "Add IP to Whitelist" اضافه کرده و سپس روی دکمه Add کلیک کنید.

- اگر آدرس IPهای مختلفی دارید، این روند را تکرار کنید

- وقتی کارتان تمام شد روی دکمه Save Changes کلیک کرده تا تغییرات نهایی شوند:

اتصال دیتابیس MySQL با وب سایت های PHP

پس از انجام موفقیت‌آمیز whitelist کردن IP، آدرس IP را در کانکشن قرار داده و کوئری را ایجاد کنید.

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

دوره‌های آموزش طراحی سایت در لیداوب:

آموزش پایه لاراول

آموزش CSS

آموزش HTML مقدماتی

با مطالعه مقالات تخصصی و آموزش‌های طراحی سایت ما در کتابخانه آنلاین لیداوب، می‌توانید بهترین سایت‌های حرفه‌ای را با استفاده از php و فریم ورک محبوب آن یعنی لاراول طراحی کنید. همچنین، اگر در هر یک از زمینه‌های طراحی وب و برنامه نویسی موبایل مهارت دارید، می‌توانید از امکان ارائه و فروش محصولات سایت ما استفاده کنید. با استفاده از این ویژگی در کتابخانه آنلاین لیداوب، شما صاحب یک صفحه شخصی به صورت رایگان خواهید بود که می‌توانید مقالات و ویدیوهای آموزشی خودتان را در آن بارگزاری نمایید. برای اطلاعات بیشتر می‌توانید این صفحه از سایت را مطالعه نمایید.