پایگاه‌دادهٔ MySQL · ۱۰ دقیقه مطالعه

اتصال به MySQL با PDO

PDO راه استاندارد و امن اتصال PHP به دیتابیس است.

اتصال

<?php
$pdo = new PDO(
    'mysql:host=localhost;dbname=arena;charset=utf8mb4',
    'user',
    'password',
    [
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    ]
);

charset=utf8mb4 برای فارسی و ایموجی ضروری است.

خواندن داده

$stmt = $pdo->query('SELECT * FROM courses');
$courses = $stmt->fetchAll();

foreach ($courses as $course) {
    echo $course['title'];
}

خواندن یک ردیف

$stmt = $pdo->prepare('SELECT * FROM users WHERE id = ?');
$stmt->execute([$id]);
$user = $stmt->fetch();

⚠️ مهم‌ترین درس امنیت — Prepared Statement

هرگز ورودی را مستقیم در کوئری نگذار:

// ❌ خطرناک — SQL Injection
$pdo->query("SELECT * FROM users WHERE email = '$email'");

به‌جایش پارامتر بگذار:

// ✅ امن
$stmt = $pdo->prepare('SELECT * FROM users WHERE email = ?');
$stmt->execute([$email]);

وقتی داده از دستور SQL جدا باشد، مهاجم نمی‌تواند منطق کوئری را عوض کند. در درس بعد CRUD کامل را امن می‌بینیم.

برای ثبت پیشرفت و کسب XP وارد شو.

ورود به میدان
CRUD امن: درج، به‌روزرسانی و حذف ←