دیتابیس - Database یک عضو جدایی ناپذیر 99 درصد اسکریپت ها و وب سایت هایی است که نیاز به ذخیره مقادیر و اطلاعات در بخشی ایمن دارند، می باشد. قالب های HTML که صرفا یک صفحه استاتیک و ثابت می سازند نیازی به دیتابیس ندارند اما در سایر موارد شما نیاز به یک دیتابیس خواهید داشت که اطلاعات اسکریپت را روی آن ذخیره کنید. یا با استفاده از نرم افزارهای مدیریت دیتابیس، اطلاعات شرکت را روی دیتابیس سایت ذخیره می کنید اما در هر حال نیاز خواهید داشت این اطلاعات را روی سایتتان به صورت کنترل شده در اختیار سایر کاربران قرار دهید یا قصد دارید یکی از اطلاعات موجود در دیتابیس را داخل سایتتان نمایش دهید. در این تاپیک از بیتاک قصد داریم توابع دسترسی و اتصال به دیتابیس و دریافت اطلاعات از آنها را به شما آموزش دهیم.

کد اتصال به MySQL
اگر دیتابیس سرور شما از نوع MySQL است، برای اتصال به آن از این کد استفاده کنید:
<?php
if(basename(__FILE__) == basename($_SERVER['PHP_SELF'])) send_404();
$dbHost = "localhost"; // نام سرور دیتابیس
$dbUser = "xxxx"; // نام کاربری دیتابیس
$dbPass = "xxxx"; // رمزعبور دیتابیس
$dbDatabase = "xxxx"; // نام دیتابیس
$db = mysql_connect("$dbHost", "$dbUser", "$dbPass") or die ("خطا در اتصال به دیتابیس");
mysql_select_db("$dbDatabase", $db) or die ("ناتوانی در اتصال به دیتابیس");
// نمایش خطای 404 اگر کاربری قصد داشت توسط ابزارها به این فایل دسترسی پیدا کند
function send_404()
{
header('HTTP/1.x 404 Not Found');
print '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">'."n".
'<html><head>'."n".
'<title>404 - یافت نشد</title>'."n".
'</head><body>'."n".
'<h1>یافت نشد</h1>'."n".
'<p>صفحه ای که به دنبال آن هستید یافت نشد</p>'."n".
'</body></html>'."n";
exit;
}
?>
این کد را در یک فایل با نام دلخواه برای مثال db.php
در مکانی از فایل منیجر ذخیره کنید و سپس توسط تابع include
آن را در فایل هایتان اجرا کنید. برای مثال:
include 'db.php';
اتصال به MySQLi
اگر دیتابیس سرور شما از نوع MySQLi باشد از این دستورات برای اتصال استفاده کنید:
<?php
define('DBHOST','localhost'); //سرور دیتابیس
define('DBUSER','xxxxxx'); // نام کاربری دیتابیس
define('DBPASS','xxxxxx'); // رمزعبور دیتابیس
define('DBNAME','xxxxxx'); // نام دیتابیس
$db = mysqli_connect(DBHOST, DBUSER, DBPASS, DBNAME);
$db->set_charset('utf8mb4'); // تغییر انکودینگ اطلاعات دریافت شده
if(!$db){
die( "خطایی در اتصال به دیتابیس وجود دارد");
}
?>
این کد را نیز می توانید مانند کد قبل در یک فایل مجزا استفاده کنید.
اتصال به PDO
و برای اتصال به دیتابیس از نوع PDO از این کد استفاده کنید:
<?php
$servername = "localhost";
$username = "xxxxxx"; // یوزنیم دیتابیس
$password = "xxxxxx"; // رمزعبور دیتابیس
try {
$conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "اتصال موفقیت آمیز بود";
} catch(PDOException $e) {
echo "خطا در اتصال " . $e->getMessage();
}
?>