اولین قدم در برنامه نویسی بانک اطلاعاتی به زبان پی اچ پی، اتصال به بانک اطلاعاتی است در پی اچ پی ۵ دو روش MySQLi و PDO برای اتصال به سرویس دهنده MySQL وجود دارد که در ادامه به آموزش آنها پرداخته شده است.

دو روش استفاده از بانک اطلاعاتی MySQL وجود دارد:

  • روش MySQLi
  • روش اشیای داده ای پی اچ پی یا (PDO)

خب برای کار با بانک اطلاعاتی MySQL از کدام روش استفاده کنیم؟

اگر جواب کوتاه می خواهید باید بگویم هر کدام از این ها را خواستید می توانید استفاده کنید. روش های MySQLi و PDO هر کدام مزایای خودشان را دارند.

PDO با ۱۲ سیستم بانک اطلاعاتی مختلف می تواند کار کند در حالی که MySQLi فقط می تواند با بانک اطلاعاتی MySQL کار کند. بنابراین اگر بعداً بانک اطلاعاتی دیگری را استفاده خواهید کرد PDO انتخاب بهتری خواهد بود تا با تغییرات جزئی در دستورات اتصال به بانک اطلاعاتی و نیز چند دستور مختصر بتوانید با بانک اطلاعاتی جدید کار کنید. در حالی که اگر از روش MySQLi استفاده کنید لازم است تا تقریباً کل پروژه را تغییر دهید.

هر دوی روش های MySQLi و PDO شی گرا هستند و واسط برنامه نویسی کاربردی (API) روال مندی را ارائه می کنند.

هر دوی آنها از آماده سازی و بررسی اولیه دستورات پشتیبانی می کنند تا امکان حملات تزریق SQL را (SQL Injection) را از بین ببرند.

 

نحوه استفاده از PDO و MySQLi با مثال های برنامه نویسی

در ادامه سه روش کار کردن با PHP و MySQL را نشان می دهیم:

  • روش MySQLi شی گرا
  • روش MySQLi روال گرا
  • روش PDO

ایجاد اتصال به MySQL

قبل از دسترسی به بانک اطلاعاتی، باید به سرویس دهنده بانک اطلاعاتی متصل شویم . قطعه کد زیر از MySQLi شی گرا برای اتصال به سرور بانک اطلاعاتی استفاده می کند.

<?php
$servername = "localhost";
$username = "username";
$password = "password";
// Create connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>

استفاده از MySQLi روال گرا

مثال زیر از MySQLi روال مند برای اتصال به سرور بانک اطلاعاتی استفاده می کند:

<?php
$servername = "localhost";
$username = "username";
$password = "password";
// Create connection
$conn = mysqli_connect($servername, $username, $password);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>

استفاده از PDO

قطعه برنامه زیر برای اتصال به سرور بانک اطلاعاتی MySQL با روش PDO استفاده شده است:

$servername = "localhost";
$username = "username";
$password = "password";
try {
$conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully";
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
?>

در همه مثال های فوق ، بعد از اجرای دستور اتصال بررسی می کند اگر اتصال برقرار شده بود پیغام success و گرنه پیغام fail داده و خطا را نمایش می دهد.
توجه کنید که مثال PDO بالا از بانک اطلاعاتی myDB استفاده می کند. PDO یک بانک اطلاعاتی لازم دارد تا به آن متصل شود و اگر این بانک اطلاعاتی نباشد خطا رخ خواهد داد.

 

یک مزیت بزرگ PDO این است که یک کلاس استثنا برای دستکاری اشکالاتی که ممکن است در کار با بانک اطلاعاتی پیش آید را ارائه کرده است. برای دستکاری خطاها باید از بلاک try  و catch استفاده کنید.

بستن اتصال

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

 

بستن اتصال با استفاده از MySQLi شی گرا

$conn->close();

بستن اتصال با استفاده از MySQLi روال مند

mysqli_close($conn);

بستن اتصال به روش PDO

$conn = null;

 

 

 

نمایش قابل چاپ