نحوه اتصال دیتابیس MySQL به وب سایت های PHP
در این مقاله از لیداوب با نحوه ایجاد ارتباط بین دیتابیس MySQL و وب سایتهای ایجاد شده با زبان برنامه نویسی PHP آشنا خواهید شد. با ما همراه باشید.
وقتی برنامه نویسان به دیتابیس اشاره میکنند، معمولا منظور آنها دیتابیس MySQL است که میتواند پروژههایی با اندازههای مختلف را پشتیبانی کند. USP دیتابیس MySQL قابلیت اجرا و سازماندهی حجم بالایی از دادهها را فراهم میکند.
ایجاد دیتابیس MySQl در لوکال هاست
ابتدا، باید بدانیم که PHPMyAdmin چیست؟ این در واقع یک کنترل پنل است که از طریق آن میتوانید دیتابیسی که ایجاد کردهاید را مدیریت کنید. مرورگر خود را باز کرده و به آدرس localhost/PHPMyAdmin
رفته یا روی "Admin" در XAMPP UI کلیک کنید. وقتی ابتدا XAMPP را نصب میکنید تنها یک نام کاربری برای دسترسی به آن ایجاد میشود. حالا باید خودتان یک کلمه عبور برای آن تعیین کنید. برای این منظور، باید به حساب کاربری رفته که کاربر آن با آنچه در تصویر زیر نشان داده میشود& یکسان باشد:
حالا روی Edit privilege کلیک کرده و به Change Admin Password بروید، کلمه عبور خود را تایپ کرده و آن را ذخیره کنید. این کلمه عبور را به خاطر بسپارید چون از آن برای اتصال به دیتابیس استفاده خواهید کرد:
توجه داشته باشید که تغییر کلمه عبور برای دسترسی به دیتابیسهای روی لوکال هاست ضروری نیست.
ایجاد دیتابیس
حالا به صفحه اصلی phpmyadmin برگردید و روی دکمه New کلیک کرده و یک دیتابیس جدید ایجاد کنید:
در پنجره جدید، دیتابیس خود را نامگذاری کنید. در اینجا ما آن را Practice نامیدیم. حالا Collation را به صورت utf8_general_ci انتخاب کنید چون ما از آن به منظور یادگیری استفاده میکنیم که تمام کوئریها و دادههایی که در این مقاله آموزشی وجود دارند را مدیریت و اجرا میکند. حالا روی دکمه Create کلیک کنید تا دیتابیس شما ایجاد شود:
اکنون دیتابیسی که ایجاد کردهاید خالی است چون هیچ جدولی در آن وجود ندارد. حالا میخواهیم این دیتابیس را با استفاده از 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
بروید. باید با این پیغام رو به رو شوید:
اکنون، شما موفق شدید به صورت موفقیتآمیز دیتابیس خود را به لوکال هاست متصل کنید. اگر این صفحه را مشاهده نکردید، بررسی کنید آیا همه کارها را به درستی در فایل db_connection.php
انجام دادهاید.
ایجاد دیتابیس MySQL در سرور Cloudways
برای این مقاله آموزشی، فرض میکنیم شما یک اپلیکیشن php نصب شده بر روی یک وب سرور دارید. Setup ما به این صورت است:
- PHP 7.2
- MySQL
میخواهیم اپلیکیشن php خود را روی سرورهای مدیریت شده Cloudways هاست کنیم چون یک هاست بهینه سازی شده دریافت میکنیم و مشکلات مدیریت سرور را هم نخواهیم داشت. میتوانید با ایجاد حساب کاربری در Cloudways از آن به صورت رایگان استفاده کنید و از گیف زیر برای راه اندازی سرور و اپلیکیشن php خود استفاده کنید:
پس از راه اندازی موفق اپلیکیشن php روی Cloudways، به تب application رفته و مشخصات دیتابیس را چک کنید:
ایجاد 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;
Remote MySQL
برای کانکشن Remote MySQL وارد پلتفرم Cloudways شده و روی Servers در نوار منوی بالا کلیک کنید، سپس روی سرور مورد نظر خود از لیست کلیک کنید.
- سپس گزینه Security در سمت چپ منو را انتخاب کرده و روی تب MySQL کلیک کنید.
- آدرس IP را به محیط متنی "Add IP to Whitelist" اضافه کرده و سپس روی دکمه Add کلیک کنید.
- اگر آدرس IPهای مختلفی دارید، این روند را تکرار کنید
- وقتی کارتان تمام شد روی دکمه Save Changes کلیک کرده تا تغییرات نهایی شوند:
پس از انجام موفقیتآمیز whitelist کردن IP، آدرس IP را در کانکشن قرار داده و کوئری را ایجاد کنید.
MySQL اسکلت هر پروژه تحت وب است. فرقی نمیکند این پروژه یک CMS باشد یا یک پلتفرم پیگیری آنلاین وظایف، در هر صورت شما به دیتابیس MySQL برای گزارشات اپلیکیشن و اطلاعات کاربر و داده های سرور نیاز خواهید داشت. حالا دیتابیس ما آماده وارد کردن داده از طریق ایجاد جداول در آن است.
با مطالعه مقالات تخصصی و آموزشهای طراحی سایت ما در کتابخانه آنلاین لیداوب، میتوانید بهترین سایتهای حرفهای را با استفاده از php و فریم ورک محبوب آن یعنی لاراول طراحی کنید. همچنین، اگر در هر یک از زمینههای طراحی وب و برنامه نویسی موبایل مهارت دارید، میتوانید از امکان ارائه و فروش محصولات سایت ما استفاده کنید. با استفاده از این ویژگی در کتابخانه آنلاین لیداوب، شما صاحب یک صفحه شخصی به صورت رایگان خواهید بود که میتوانید مقالات و ویدیوهای آموزشی خودتان را در آن بارگزاری نمایید. برای اطلاعات بیشتر میتوانید این صفحه از سایت را مطالعه نمایید.
متاسفانه فقط اعضای سایت قادر به ثبت دیدگاه هستند
دیدگاه ها 0