با سلام. به طور کلی 3 روش برای اتصال به mysql با استفاده از زبان php وجود دارد. در ادامه به معرفی این 3 روش می پردازیم:
mysql_extension (افزونه mysql)
تا قبل از انتشار نسخه 5 php، بهترین راه اتصال به mysql، استفاده از افزونه خود آن بود. این روش، تا حدودی کند و از نظر امنیتی ضعیف بود به همین دلیل بعد از انتشار نسخه 5 زبان php (سال 2012)، این افزونه به طور کامل منسوخ شد و امروزه هیچ فردی از آن استفاده نمی کند.
mysqli
بعد از منسوخ شدن افزونه mysql، تکنولوژی جدیدی به اسم mysqli معرفی شد. این تکنولوژی بسیار سریع تر و امن تر از افزونه mysql بود. همچنین پشتیبانی از برنامه نویسی رویه ای (تابعی) و برنامه نویسی شئ گرا، باعث شد که برنامه نویسان زیادی جذب آن شوند.
حرف "i" در انتهای mysqli، کوتاه شده کلمه "improved" به معنی "پیشرفته" می باشد
برای مثال، اتصال به روش رویه ای (تابعی) به این شکل می باشد:
<?php
$host = 'localhost';
$username = 'root';
$password = '';
$conn = mysqli_connect($host, $username, $password);
if ($conn) {
echo "Done!";
} else {
die("Failed!");
}
و همچنین اتصال به روش شئ گرا، به این شکل می باشد:
<?php
$host = 'localhost';
$username = 'root';
$password = '';
$conn = mysqli_connect($host, $username, $password);
if ($conn->connect_error) {
die("Failed! " . $conn->connect_error);
}
echo "Done!";
PDO (PHP Data Objects)
و در نهایت با تکنولوژی PDO آشنا می شویم. استفاده از این روش فقط و فقط به روش شئ گرا امکان پذیر می باشد. این روش از نظر سرعت و امنیت کمی بهتر از روش mysqli عمل می کند اما همچنان هم PDO و هم mysqli سرعت و امنیت قابل قبولی دارند.
برای اتصال به روش PDO، بدین گونه عمل می کنیم:
$servername = "localhost";
$username = "root";
$password = "";
try {
$conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
echo "Done!";
}
catch(PDOException $e) {
die("Failed! " . $e->getMessage());
}
PDO یا Mysqli
شاید اولین سوالی که در این رابطه برایتان پیش بیاید، استفاده از PDO یا Mysqli است.
اگر بخواهیم از نظر سرعت پردازش اطلاعات، این دو را مقایسه کنیم، هر دو تقریبا در یک سطح قرار می گیرند.
از نظر امنیت نیز هر دو، تقریبا در یک سطح قرار می گیرند (گرچه امنیت PDO کمی بهبود یافته تر از Mysqli است)
اما نکته اصلی که باعث می شود، PDO در جایگاه بهتری نسبت به Mysqli قرار بگیرد، سازگاری PDO با تعداد زیادی سیستم دیتابیسی می باشد.
PDO می تواند با 12 سیستم دیتابیسی (از جمله Mysql، اوراکل و ...) بدون هیچ مشکلی کار کند، این در حالی است که Mysqli فقط و فقط با سیستم دیتابیسی Mysql می تواند کار کند.
اما در نهایت باید به این نکته توجه کنیم که هر دو روش PDO و Mysqli برای اتصال به Mysql، بسیار امن و سریع هستند و در پروژه های کوچک و بزرگی، از این روش ها استفاده می شود.