pdo مخفف PHP Data Objects است که یک رابط ساده و سبک و امن جهت دسترسی به دیتا بیس می باشد.

آموزش php

جهت اتصال به دیتابیس با pdo ما می توانیم از روشی که خود php معرفی کرده است کمک بگیریم و اگر خواستیم آن را تغییر دهیم

پی اچ پی چیست ؟ php یک زبان برنامه نویسی همه منظوره منبع باز است که به طور گسترده برای ایجاد صفحات وب پویا و تعاملی استفاده می شود

PHP می تواند به طیف وسیعی از سیستم های مدیریت پایگاه داده رابطه ای مانند MYSQL، SQLite و PostgreSQL دسترسی داشته باشد

. نسخه PHP 5.1 یک کتابخانه انتزاعی اتصال پایگاه داده جدید ارائه می دهد که PHP Data Objects (PDO) است.

pdo

نحوه ارتباط با پایگاه داده در php با pdo

 عمدتاً PDO بر انتزاع دسترسی به داده ها به جای انتزاع پایگاه داده متمرکز است. این لایه انتزاعی دسترسی به داده را فراهم می کند، به این معنی که، صرف نظر از اینکه از کدام پایگاه داده استفاده می کنیم، باید از همان توابع ارائه شده توسط آن پایگاه داده برای صدور پرس و جو و واکشی داده ها استفاده کنیم. PDO انتزاع داده را ارائه نمی دهد، زیرا SQL را بازنویسی نمی کند یا ویژگی های از دست رفته را شبیه سازی نمی کند.

مزیت PDO

PDO راه های مختلفی را برای کار با اشیا ارائه می دهد و عبارات آماده شده را بازیابی می کند که کار را بسیار آسان تر می کند. این یک ابزار دسترسی به پایگاه داده در PHP است که از طریق آن دسترسی یکسان به چندین پایگاه داده را امکان پذیر می کنیم.

پی دی او امکان سوئیچ نسبتاً یکپارچه بین پایگاه‌های داده و پلتفرم‌های مختلف را فراهم می‌کند که می‌تواند به راحتی با تغییر رشته اتصال انجام شود. از نحوهای خاص پایگاه داده پشتیبانی نمی کند.

برخی از مزایای pdo به شرح زیر است

پشتیبانی از پایگاه داده

کانکشن PDO می تواند به هر پایگاه داده ای که برای درایور PDO نوشته شده است دسترسی داشته باشد. چندین درایور PDO در دسترس هستند که برای پایگاه‌های داده FreeTDS، Microsoft SQL Server، Sybase، IBM DB2، Oracle Call Interface، Firebird/Interbase 6، و پایگاه‌های داده PostgreSQL و بسیاری موارد دیگر استفاده می‌شوند.

ادامه مطلب  Css چیست؟ و نحوه اضافه کردن انواع css به صفحات html - جلسه 2

اتصال پایگاه داده به وسیله پی دی او

دستورهای مختلفی برای ایجاد اتصال پایگاه داده وجود دارد. این نحوها به پایگاه داده های خاصی بستگی دارند. هنگام استفاده از PDO، عملیات باید در بلوک‌های try/catch پیچیده شود و از تکنیک استثنا استفاده شود.

معمولاً فقط باید یک اتصال ایجاد شود و این اتصالات با برنامه نویسی پایگاه داده به صورت null بسته می شوند.

رسیدگی به خطا

PDO اجازه استفاده از استثناها را برای رسیدگی به خطا می دهد. برای ایجاد یک استثنا، PDO را می توان به یک ویژگی حالت خطای مربوطه وادار کرد.

سه حالت خطا وجود دارد، یعنی خاموش (پیش‌فرض)، هشدار و استثنا. هشدار و استثنا در برنامه نویسی DRY مفیدتر هستند.

بی صدا – این یک حالت خطای پیش فرض است.

هشدار – برای رفع اشکال مفید است.

استثنا – این حالت به شما اجازه می دهد تا با مخفی کردن داده هایی که ممکن است یک شخص برای سوء استفاده از سیستم شما از آنها استفاده کند، خطاها را به خوبی مدیریت کند.

درج و به روز رسانی جداول دیتابیس

PDO عملیات درج و به روز رسانی رایج پایگاه داده را به یک فرآیند دو مرحله ای کاهش می دهد.

آماده >> [Bind] >> اجرا کنید.

از طریق این روش، می‌توانیم از عبارات آماده‌شده PDO که از طریق تزریق SQL در برابر حملات مخرب محافظت می‌کند، بهره کامل ببریم.

کلاس های PDO

PDO – نشان دهنده ارتباط بین PHP و پایگاه داده است.

PDOStatement – بیانگر بیانیه آماده شده است و پس از اجرای دستور، یک نتیجه مرتبط را تنظیم می کند.

PDOException – نشان دهنده خطاهای مطرح شده توسط PDO است.

پایگاه های داده پشتیبانی شده توسط پی دی او

  • MySQL
  • PostgreSQL
  • Oracle
  • Firebird
  • MS SQL Server
  • Sybase
  • Informix
  • IBM
  • FreeTDS
  • SQLite
  • Cubrid
  • 4D

مقایسه بین PDO و Mysqli

برای دسترسی به پایگاه داده با استفاده از PHP ، ما عمدتاً دو گزینه داریم – MySQLI و PDO (شیء داده PHP). MySQLI یک بومی برای PHP است که عملکرد سریع تری را فراهم می کند

جایی که توسعه دهندگان با تجربه ترجیح می دهند با PDO به عنوان متنوعی از پایگاه داده کار کنند. تفاوت هایی بین PDO و MySQLI در زیر بر اساس ویژگی های آنها وجود دارد.

کدام یک باید بین PDO یا MySQLi ترجیح داده شود؟

هر دو PDO و MySQLi مزایای خاص خود را دارند:

همانطور که قبلاً دیدیم که pdo روی 12 سیستم پایگاه داده مختلف کار می کند، در حالی که MySQL فقط با پایگاه داده MySQL کار می کند.

بنابراین، اگر بخواهیم پروژه خود را به پایگاه داده دیگری تغییر دهیم، pdo کار را آسان می کند.در MySQLi باید کل کد را بازنویسی کنیم.

pdo و MySQLi هر دو شی گرا هستند، اما MySQLi یک API رویه ای نیز ارائه می دهد.

. هر دو از بیانیه های آماده شده پشتیبانی می کنند. بیانیه های آماده شده برای امنیت برنامه های وب مهم هستند، زیرا در برابر تزریق SQL محافظت می کنند.