PDO چیست

PHP Data Object یا PDO یک افزونه سبک و قدرتمند PHP برای اتصال به دیتابیس است. از خصوصیات خوب این افزونه که از نسخه 5٫1 روی PHP نصب شده موارد زیر است:

  • پشتیبانی از دیتابیس‌های متنوع از جمله MySQL، MSSQL، SQLLite و غیره با توابع ثابت. ویژگی فوق العاده دیگر PDO این است که اجازه می دهد تا بدون تغییر کدها، دیتابیس را تغییر دهیم. یعنی مثلا اگر Application ای با MySQL ساخته باشیم و تحت شرایطی مجبور به تغییر دیتابیس به MsSQL باشیم، اگر سینتکس کوئری‌ها مشکلی ایجاد نکند، کافیست دیتابیس را تعویض کنیم. برای سیستمهای بزرگ این یک مزیت خیلی مهم است.
  • پشتیبانی از Exception های Exception . PHP ها امکان کنترل و بدست گیری خطاها را به برنامه نویس می دهند. PDO امکان کنترل خطاهای دیتابیس را هم به برنامه نویس می‌دهد.
  • پشتیبانی از Prepared Statement و Stored Procedure ها و Multiple Recordset.این سه مورد هیچ کدوم توسط توابع MySQL اجرا نمی‌شوند.PDO مورد آخر را در حال حاضر برای MySQL پشتیبانی نمی‌کند.
  • PDO به صورت کلاس طراحی شده است. قابلیت مهمی که امکان گسترش و شخصی سازی PDO را می دهد. مثلا می توان رفتار توابع آن را تغییر داده و همچنین توابعی جدیدی به آن اضافه کرد.

با توجه به اینکه PDO یک کلاس است اتصال به دیتابیس با نمونه گیری این کلاس شروع میشه:

$conn = new PDO($dsn, $username, $password)

DSN یا Database Source Name یک رشته است که در آن نوع، نام و مسیر دیتابیس ذکر می شود. username نام کاربری و password هم رمز عبور اتصال به بانک است. به مثال زیر توجه کنید :

$conn = new PDO('mysql:dbname=mydatabase;host=localhost', 'admin', '123')

نوع دیتابیس در مثال بالا MySQL، نام آن mydatabase و مسیرش localhost می باشد. برای اتصال به آن هم از نام کاربری admin و پسورد 123 استفاده می شود.

لطفا اگر نظر، پیشنهاد و یا انتقادی در باره مطلب بالا دارید در قسمت زیر مطرح بفرمایید.

  1. Ashkan1 پاسخ دادن

    سلام.
    وقت بخیر،من با نرم‌افزار xampp کار می کنم تفاوت با want servers داره. یا ن

    • یونس ابراهیمی پاسخ دادن

      سلام دوست عزیز
      نه، فرقی نداره و شما می تونید از هر کدوم که دوست داشتین استفاده کنید