پایگاهدادهٔ 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 کامل را امن میبینیم.