با عرض سلام خدمت کاربران محترم سایت پی وی لرن. در این جلسه قصد داریم تا نحوه اتصال به پایگاه داده MySQL در PHP را مورد بررسی قرار دهیم.
در php 5 و بعد از آن می توان با روش های زیر به دیتابیس MySQL متصل شد:
در نسخه های قبل تر php از رابط MySQL استفاده می شد. به هرحال این رابط از سال ۲۰۱۲ منسوخ شده است.
پاسخ کوتاه این است که هر طور که مایلید.
MySQLi و PDO مزیت های خودشان را دارند:
PDO بر روی ۱۲ پایگاه داده مختلف کار می کند در حالیکه MySQLi فقط با دیتابیس MySQL کار می کند.
اگر می خواهید پروژه تان را به پایگاه داده دیگری منتقل کنید، PDO گزینه بهتری است. شما فقط باید string کانکشن و بعضی از کوئری ها را تغییر دهید. اما در MySQLi شما باید تمام کد ها و کوئری های مربوطه را تغییر دهید.
هر دو شئ گرا می باشند اما MySQLi یک API برای برنامه نویسی رویه ای نیز دارد.
هر دو از دستورات آماده شده استفاده می کنند که از SQL injection جلوگیری می کنند و برای امنیت وب سایت مهم هستند.
در ادامه سه روش ارتباط php و mysql را به شما نشان خواهیم داد:
در سیستم های عامل ویندوز و لینوکس:
در اکثر اوقات رابط MySQLi به صورت خودکار از روی پکیج نصب می شود.
برای جزئیات دانلود می توانید به آدرس زیر مراجعه کنید:
http://php.net/manual/en/mysqli.installation.php
برای جزئیات دانلود می توانید به آدرس زیر مراجعه کنید:
http://php.net/manual/en/pdo.installation.php
قبل از دسترسی به اطلاعات پایگاه داده باید به سرور متصل شویم:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php $servername = "localhost"; $username = "username"; $password = "password"; // Create connection $conn = new mysqli($servername, $username, $password); // Check connection if ($conn->connect_error) { die("اتصال برقرار نشد: " . $conn->connect_error); } echo "اتصال با موفقیت برقرار شد"; ?> |
مثال ارتباط با روش MySQLi رویه ای:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php $servername = "localhost"; $username = "username"; $password = "password"; // Create connection $conn = mysqli_connect($servername, $username, $password); // Check connection if (!$conn) { die("اتصال برقرار نشد: " . mysqli_connect_error()); } echo "اتصال با موفقیت برقرار شد"; ?> |
مثال PDO:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php $servername = "localhost"; $username = "username"; $password = "password"; try { $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "اتصال با موفقیت برقرار شد"; } catch(PDOException $e) { echo "اتصال برقرار نشد: " . $e->getMessage(); } ?> |
توجه داشته باشید که در مثال PDO ما یک پایگاه داده را مشخص کردیم (myDB)
PDO به یک پایگاه معتبر برای تصال نیاز دارد و پایگاه داده ای تعیین نشود یک استثنا را پرتاب می کند.
یکی از بزرگترین مزایای PDO ، استفاده از کلاس exception برای مدیریت هرگونه مشکل و استثنا که در کوئری های دیتا بیس اتفاق می افتد، می باشد. (برای آشنایی بیشتر با می توانید به آموزش استثنا ها در php مراجعه نمایید)
ارتباط به صورت خودکار هنگام به پایان رسیدن اسکریپت بسته می شود.
برای بستن ارتباط قبل از آن از دستورات زیر استفاده می کنیم:
MySQLi شئ گرا:
1 | $conn->close(); |
MySQLi رویه گرا:
1 | mysqli_close($conn); |
PDO:
1 | $conn = null; |
جلسه آموزش اتصال به پایگاه داده mysql در php نیز به پایان رسید.
در جلسه بعد نحوه ساخت یک پایگاه داده در MySQL را یاد خواهید گرفت. با ما همراه باشید.
همچنین می توانید نظرات و سوالات خود را از طریق بخش نظرات با ما در میان بگذارید.