ویژگی تصویر

نحوه اتصال به پایگاه داده MySQL در PHP

  /  MySQL   /  نحوه اتصال به MySQL در PHP
بنر تبلیغاتی الف
php and MySQL

از PHP5 به بعد می توانید با پایگاه داده MySQL با استفاده از موارید زیر کار کنید:

  1. افزونه MySQLi ( "i" مخفف improved یعنی بهبود یافته است )
  2. PDO ( PHP Data Objects )

نسخه های قبلی PHP از پسوند MySQL استفاده می کردند. با این حال، این پسوند در سال 2012 منسوخ شد.

از MySQLi استفاده کنیم یا PDO ؟

به طور کل از هرکدام که دوست داشته باشید می توانید استفاده کنید، امّا یکسری تفاوت ها وجود دارد که در ادامه اشاره خواهیم کرد.

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

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

بنابراین، اگر مجبور هستید پروژه خود را به استفاده از پایگاه داده دیگری تغییر دهید، PDO این فرآیند را آسان می کند. فقط باید رشته اتصال و چند پرس و جو را تغییر دهید. با MySQLi، باید کل کد را بازنویسی کنید.

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

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

هم در این فصل و هم در فصل های بعدی سه روش کار با PHP و MySQL را نشان می دهیم:

  • MySQLi (object-oriented)
  • MySQLi (procedural)
  • PDO

نصب MySQLi

برای لینوکس و ویندوز: افزونه MySQLi در اکثر موارد، زمانی که بسته php5 mysql نصب می شود، به طور خودکار نصب می شود.

برای دریافت جزئیات نحوه نصب به این آدرس مراجعه کنید: http://php.net/manual/en/mysqli.installation.php

نصب PDO

برای دریافت جزئیات نحوه نصب به این آدرس مراجعه کنید: http://php.net/manual/en/pdo.installation.php

به پایگاه داده MySQL متصل شوید

قبل از اینکه بتوانیم به داده ها در پایگاه داده MySQL دسترسی داشته باشیم، باید بتوانیم به سرور متصل شویم:

مثال MySQLi Object-Oriented

تماشا در حالت تمام صفحه

به مثال شی گرا در بالا توجه کنید:

$connect_error تا PHP 5.2.9 و 5.3.0 خراب بود. اگر می خواهید از سازگاری با نسخه های PHP قبل از 5.2.9 و 5.3.0 اطمینان حاصل کنید، به جای آن از کد زیر استفاده کنید:

// Check connection
if (mysqli_connect_error()) {
die("اتصال پایگاه داده انجام نشد: " . mysqli_connect_error());
}

مثال MySQLi Procedural

تماشا در حالت تمام صفحه

مثال PDO


این قسمت/بخشی از محتوا مخفی شده است و فقط برای اعضای وب سایت قابل مشاهده می باشد، لطفاً با حساب کاربری وارد شوید.

یادداشت: در مثال PDO بالا همچنین نام پایگاه داده را مشخص کرده ایم. PDO برای اتصال به پایگاه داده معتبر نیاز داد. اگر هیچ پایگاه داده ای مشخص نشده باشد، یک استثنا ایجاد می شود.

نکته: یک مزیت بزرگ PDO این است که دارای یک کلاس استثنا برای رسیدگی به مشکلاتی است که ممکن است در کوئری های پایگاه داده ما رخ دهد. اگر یک استثنا در بلوک try{ } ایجاد شود، اسکریپت اجرا را متوقف می‌کند و مستقیماً به اولین بلوک catch(){ } جریان می‌یابد.

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

پس از پایان اسکریپت، اتصال به طور خودکار بسته می شود. برای بستن اتصال قبل از به پایان رسیدن اسکریپت، از موارد زیر استفاده کنید:

MySQLi Object-Oriented:

$conn->close();

MySQLi Procedural:

mysqli_close($conn);

PDO:

$conn = null;

آیا این مطلب برای شما مفید بود ؟

خیر
بله
بنر تبلیغاتی ج