دروس PHP

PHP الرئيسية مقدمة PHP تثبيت PHP بناء جملة PHP تعليقات PHP متغيرات PHP PHP صدى / طباعة أنواع بيانات PHP سلاسل PHP أرقام PHP PHP الرياضيات ثوابت PHP مشغلي PHP PHP إذا ... آخر ... Elseif مفتاح PHP حلقات PHP وظائف PHP مصفوفات PHP PHP Superglobals PHP RegEx

نماذج PHP

معالجة نموذج PHP التحقق من صحة نموذج PHP نموذج PHP مطلوب نموذج PHP URL / البريد الإلكتروني اكتمل نموذج PHP

PHP متقدم

تاريخ ووقت PHP تضمين PHP معالجة ملفات PHP فتح / قراءة ملف PHP إنشاء / كتابة ملف PHP تحميل ملف PHP ملفات تعريف الارتباط PHP جلسات PHP مرشحات PHP مرشحات PHP متقدم وظائف رد الاتصال PHP PHP JSON استثناءات PHP

PHP OOP

PHP ما هو OOP فئات / كائنات PHP منشئ PHP مدمر PHP معدِّلات الوصول إلى PHP الوراثة PHP ثوابت PHP فئات مجردة PHP واجهات PHP سمات PHP طرق PHP الثابتة خصائص PHP الثابتة مساحات أسماء PHP PHP تكرارات

قاعدة بيانات MySQL

قاعدة بيانات MySQL اتصال MySQL إنشاء قاعدة بيانات MySQL إنشاء جدول MySQL MySQL إدراج البيانات MySQL الحصول على آخر معرف إدراج عدة MySQL تم تجهيز MySQL MySQL حدد البيانات MySQL أين ترتيب MySQL حسب MySQL حذف البيانات تحديث بيانات MySQL بيانات MySQL المحدودة

لغة PHP XML

موزعي PHP XML محلل PHP SimpleXML PHP SimpleXML - احصل على PHP XML Expat PHP XML DOM

PHP - أجاكس

مقدمة أجاكس أجاكس بي إتش بي قاعدة بيانات أجاكس AJAX XML بحث أجاكس لايف استطلاع أجاكس

أمثلة PHP

أمثلة PHP مترجم PHP اختبار PHP تمارين PHP شهادة PHP

مرجع PHP

نظرة عامة على PHP صفيف PHP تقويم PHP تاريخ PHP دليل PHP خطأ PHP استثناء PHP نظام ملفات PHP مرشح PHP PHP FTP PHP JSON كلمات PHP PHP Libxml PHP Mail PHP الرياضيات متفرقات PHP PHP MySQLi شبكة PHP التحكم في إخراج PHP PHP RegEx PHP SimpleXML PHP ستريم سلسلة PHP معالجة متغيرة PHP محلل PHP XML PHP Zip المناطق الزمنية PHP

ربط PHP بـ MySQL


يمكن أن تعمل PHP 5 والإصدارات الأحدث مع قاعدة بيانات MySQL باستخدام:

  • ملحق MySQLi (الحرف "i" يعني محسنًا)
  • PDO (كائنات بيانات PHP)

استخدمت الإصدارات السابقة من PHP امتداد MySQL. ومع ذلك ، تم إهمال هذا الامتداد في عام 2012.


هل يجب علي استخدام MySQLi أو PDO؟

إذا كنت بحاجة إلى إجابة قصيرة ، فستكون "أيًا ما تريد".

لكل من MySQLi و PDO مزاياها:

ستعمل PDO على 12 نظام قاعدة بيانات مختلف ، بينما MySQLi ستعمل فقط مع قواعد بيانات MySQL.

لذلك ، إذا كان عليك تبديل مشروعك لاستخدام قاعدة بيانات أخرى ، فإن PDO تجعل العملية سهلة. ما عليك سوى تغيير سلسلة الاتصال وبعض الاستفسارات. باستخدام MySQLi ، ستحتاج إلى إعادة كتابة الكود بالكامل - الاستعلامات المضمنة.

كلاهما موجه للكائنات ، لكن MySQLi تقدم أيضًا واجهة برمجة تطبيقات إجرائية.

كلاهما يدعم البيانات المعدة. تحمي البيانات المعدة من حقن SQL ، وهي مهمة جدًا لأمان تطبيقات الويب.


أمثلة على MySQL في بناء جملة MySQLi و PDO

في هذا ، وفي الفصول التالية نوضح ثلاث طرق للعمل مع PHP و MySQL:

  • MySQLi (وجوه المنحى)
  • MySQLi (إجرائية)
  • PDO

تثبيت MySQLi

لنظامي Linux و Windows: يتم تثبيت ملحق MySQLi تلقائيًا في معظم الحالات ، عند تثبيت حزمة php5 mysql.

للحصول على تفاصيل التثبيت ، انتقل إلى: http://php.net/manual/en/mysqli.installation.php


تركيب PDO

للحصول على تفاصيل التثبيت ، انتقل إلى: http://php.net/manual/en/pdo.installation.php



افتح اتصالاً بـ MySQL

قبل أن نتمكن من الوصول إلى البيانات في قاعدة بيانات 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";
?>

ملاحظة حول المثال الموجه للكائنات أعلاه:

تم كسر $ connect_error حتى PHP 5.2.9 و 5.3.0. إذا كنت تريد التأكد من التوافق مع إصدارات PHP السابقة للإصدارين 5.2.9 و 5.3.0 ، فاستخدم الكود التالي بدلاً من ذلك:

// Check
Connection if (mysqli_connect_error ()) {
  die ("Database connection failure:". mysqli_connect_error ())؛
}

مثال (إجراءات 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)

<?php
$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();
}
?>

ملاحظة: في مثال PDO أعلاه ، حددنا أيضًا قاعدة بيانات (myDB) . تتطلب PDO قاعدة بيانات صالحة للاتصال بها. إذا لم يتم تحديد قاعدة بيانات ، فسيتم طرح استثناء.

نصيحة: تتمثل إحدى الفوائد الكبيرة لـ PDO في أنها تحتوي على فئة استثناء للتعامل مع أي مشاكل قد تحدث في استعلامات قاعدة البيانات الخاصة بنا. إذا تم طرح استثناء داخل كتلة try {} ، فسيتوقف البرنامج النصي عن التنفيذ ويتدفق مباشرة إلى كتلة catch () {} الأولى.


أغلق الاتصال

سيتم إغلاق الاتصال تلقائيًا عند انتهاء البرنامج النصي. لإغلاق الاتصال من قبل ، استخدم ما يلي:

موجّه إلى كائن MySQLi:

$conn->close();

إجراءات MySQLi:

mysqli_close($conn);

PDO:

$conn = null;