اسکریپت PHP برای عملیات CRUD با استفاده از PDO: راهنمای جامع و کامل


در دنیای توسعه نرم‌افزار، عملیات CRUD یا همان Create، Read، Update و Delete، اساسی‌ترین و پرکاربردترین عملیات است که هر برنامه‌نویس در پروژه‌های مختلف باید به آن مسلط باشد. این عملیات، هسته‌ی تعامل با پایگاه داده‌ها را تشکیل می‌دهد و در کنار امنیت، کارایی، و انعطاف‌پذیری، نقش مهمی در مدیریت داده‌ها ایفا می‌کند. یکی از بهترین روش‌ها برای انجام این عملیات، استفاده از PDO (PHP Data Objects) است که قابلیت اتصال امن و انعطاف‌پذیر به انواع دیتابیس‌ها از جمله MySQL، PostgreSQL، SQLite و دیگر سیستم‌های مدیریت پایگاه داده را فراهم می‌کند.

چرا PDO؟




در مقایسه با روش‌های قدیمی‌تر مانند `mysql_*` یا `mysqli_*`، PDO امکانات بیشتری دارد و امنیت بالاتری ارائه می‌دهد. یکی از مزایای اصلی PDO، پشتیبانی از prepared statements یا دستورات آماده است، که نه تنها باعث افزایش سرعت اجرای عملیات می‌شود، بلکه در برابر حملات SQL Injection نیز بسیار مقاوم است. بنابراین، در طراحی اسکریپت‌های CRUD، استفاده از PDO یک استاندارد حرفه‌ای و امن محسوب می‌شود.

ساختار کلی اسکریپت CRUD با PDO




یک اسکریپت کامل CRUD معمولاً شامل چهار بخش اصلی است:
  1. ایجاد رکورد (Create): افزودن داده‌های جدید به پایگاه داده.

  1. خواندن رکوردها (Read): بازیابی و نمایش داده‌ها.

  1. به‌روزرسانی رکوردها (Update): اصلاح داده‌های موجود.

  1. حذف رکوردها (Delete): حذف داده‌ها بر اساس نیاز.
    در ادامه، هر بخش را به تفصیل شرح می‌دهیم و نمونه کدهای عملی و کاربردی ارائه می‌نماییم.
    ---

    1. اتصال به پایگاه داده با PDO




قبل از هر چیز، باید یک اتصال امن و پایدار به پایگاه داده برقرار کنیم. این کار معمولاً در ابتدای اسکریپت انجام می‌شود و می‌تواند در یک فایل جداگانه تعریف گردد.
php  

<?php

// اتصال به پایگاه داده با PDO

$host = 'localhost';

$db_name = 'your_database_name';

$username = 'your_username';

$password = 'your_password';
try {

// ساخت شی PDO

$pdo = new PDO("mysql:host=$host;dbname=$db_name;charset=utf8", $username, $password);

// تنظیم حالت استثنا برای خطاها

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

} catch (PDOException $e) {

die("ارتباط با پایگاه داده برقرار نشد: " . $e->getMessage());

}

?>


این بخش، پایه و اساس عملیات‌های بعدی است. با این کد، ارتباط امن و پایدار با پایگاه داده برقرار می‌شود و خطاهای احتمالی به طور مناسب مدیریت می‌شوند.
---

  1. عملیات Create: افزودن داده جدید




برای افزودن رکورد، از دستور `INSERT INTO` استفاده می‌شود. با PDO، بهتر است از prepared statements بهره ببریم تا امنیت حفظ شود.
فرض کنید جدول ما به نام `users` است و ستون‌های آن `id` (کلید اصلی، خودکار افزایشی)، `name`, `email`, و `age` است.
php  

<?php

// افزودن کاربر جدید

$name = "علی";

$email = "ali@example.com";

$age = 30;
try {

$stmt = $pdo->prepare("INSERT INTO users (name, email, age) VALUES (:name, :email, :age)");

$stmt->bindParam(':name', $name);

$stmt->bindParam(':email', $email);

$stmt->bindParam(':age', $age);

$stmt->execute();

echo "رکورد با موفقیت ثبت شد.";

} catch (PDOException $e) {

echo "خطا در ثبت رکورد: " . $e->getMessage();

}

?>


در این نمونه، مقادیر به صورت امن به کوئری پاس داده شده و از SQL Injection جلوگیری می‌شود.
---

  1. عملیات Read: خواندن و نمایش داده‌ها




برای بازیابی داده‌ها، می‌توان از دستور `SELECT` بهره برد. بسته ب... ← ادامه مطلب در magicfile.ir