اتصال به پایگاه داده در PHP
اتصال به پایگاه داده database connectivity یکی از مراحل مهم در توسعه وب است. با استفاده از PHP، میتوان به پایگاه داده MySQL متصل شد و دادهها را ذخیره، بازیابی، ویرایش و حذف کرد. در این مقاله، نحوه اتصال به پایگاه داده در PHP را به روشهای مختلف بررسی میکنیم.
فهرست مطالب
- روشهای اتصال به پایگاه داده در PHP
- اتصال با استفاده از MySQLi
- اتصال با استفاده از PDO
- دستورالعملهای عملی
- ایجاد پایگاه داده و جدول
- ذخیره داده در پایگاه داده
- بازیابی دادهها از پایگاه داده
- نکات امنیتی در اتصال به پایگاه داده
- لینکهای مطالعه پیشنهادی
روشهای اتصال به پایگاه داده در PHP
PHP دو روش اصلی برای اتصال به پایگاه داده MySQL ارائه میدهد:
- MySQLi (MySQL Improved): این روش یک افزونه برای PHP است که امکان اتصال به پایگاه داده MySQL را فراهم میکند. MySQLi هم به صورت شیگرا و هم به صورت رویهای قابل استفاده است.
- PDO (PHP Data Objects): یک رابط عمومی برای دسترسی به پایگاه دادههای مختلف است که از جمله MySQL، PostgreSQL، SQLite و … پشتیبانی میکند. PDO به صورت شیگرا طراحی شده و برای پایگاه دادههای مختلف قابل استفاده است.
اتصال با استفاده از MySQLi
در این بخش، اتصال به پایگاه داده با استفاده از MySQLi به صورت رویهای و شیگرا را بررسی میکنیم.
1. اتصال به پایگاه داده با MySQLi به صورت رویهای
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "itvisit_db";
// ایجاد اتصال
$conn = mysqli_connect($servername, $username, $password, $dbname);
// بررسی اتصال
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>
در مثال فوق، اتصال به پایگاه داده با استفاده از اطلاعات ورود (نام سرور، نام کاربری، رمز عبور، و نام پایگاه داده) انجام میشود.
نکته : در PHP، تابع die
(همچنین با نام exit
نیز شناخته میشود) برای توقف اجرای اسکریپت در هر نقطه و با هر دلیلی استفاده میشود. معمولاً از این تابع برای خاتمه دادن به اسکریپت در صورت وقوع خطا یا شرایطی که نیاز به متوقف شدن فوری اسکریپت دارد، استفاده میشود.
نکته مهم این است که میتوانید یک پیغام اختیاری به تابع die
یا exit
بدهید که به خروجی فرستاده شود، و سپس اجرای اسکریپت متوقف میشود.
2. اتصال به پایگاه داده با MySQLi به صورت شیگرا
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "itvisit_db";
// ایجاد اتصال
$conn = new mysqli($servername, $username, $password, $dbname);
// بررسی اتصال
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>
در این روش، اتصال با استفاده از یک شیء mysqli انجام میشود و میتوان به راحتی دادهها را مدیریت کرد.
اتصال با استفاده از PDO
PDO یک روش شیگرا برای اتصال به پایگاه داده است که قابلیت استفاده برای پایگاه دادههای مختلف را دارد.
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "itvisit_db";
try {
// ایجاد اتصال با استفاده از PDO
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// تنظیم حالت خطا
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully";
} catch (PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
?>
در مثال فوق، اتصال با استفاده از PDO انجام شده و در صورت وقوع خطا، یک پیام خطا نمایش داده میشود.
دستورالعملهای عملی
ایجاد پایگاه داده و جدول
برای کار با پایگاه داده، ابتدا باید یک پایگاه داده و جدول ایجاد کنیم. برای مثال، پایگاه دادهای به نام itvisit_db
و جدولی به نام users
ایجاد میکنیم.
CREATE DATABASE itvisit_db;
USE itvisit_db;
CREATE TABLE users (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
ذخیره داده در پایگاه داده
برای ذخیره اطلاعات کاربر در پایگاه داده، میتوان از کد PHP زیر استفاده کرد:
<?php
$firstname = "Mehrdad";
$lastname = "Yari";
$email = "mehrdad@itvisit.ir";
// SQL برای درج دادهها
$sql = "INSERT INTO users (firstname, lastname, email) VALUES ('$firstname', '$lastname', '$email')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
?>
در این مثال، اطلاعات کاربر با استفاده از دستور INSERT INTO
در جدول users
ذخیره میشود.
بازیابی دادهها از پایگاه داده
برای نمایش دادههای ذخیرهشده، از کد زیر استفاده میکنیم:
<?php
$sql = "SELECT id, firstname, lastname, email FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// نمایش دادهها
while($row = $result->fetch_assoc()) {
echo "ID: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. " - Email: " . $row["email"]. "<br>";
}
} else {
echo "0 results";
}
?>
در این مثال، دادههای جدول users
بازیابی و نمایش داده میشوند.
نکات امنیتی در اتصال به پایگاه داده
- همیشه از Prepared Statements برای جلوگیری از SQL Injection استفاده کنید.
- اطلاعات حساس مانند نام کاربری و رمز عبور پایگاه داده را در فایلهای config یا متغیرهای محیطی ذخیره کنید.
- به منظور افزایش امنیت، از PDO به جای MySQLi استفاده کنید زیرا پشتیبانی بهتری از Prepared Statements دارد.
لینکهای مطالعه پیشنهادی
جمعبندی
اتصال به پایگاه داده در PHP یکی از مراحل اساسی در توسعه وب است. با استفاده از MySQLi یا PDO میتوان به راحتی دادهها را مدیریت کرد. انتخاب روش مناسب برای اتصال به پایگاه داده بستگی به نیاز پروژه و ملاحظات امنیتی دارد.