Mysql لا يتصل بـ php كيفية إنشاء اتصال بقاعدة البيانات في PHP؟ ما تحتاجه لربط PHP بـ MySQL

07.03.2024

3 طرق للاتصال بـ MySQL باستخدام PHP مع أمثلة التعليمات البرمجية


للبدء في استخدام قاعدة بيانات MySQL، يجب عليك أولاً فهم كيفية الاتصال من برنامج PHP المخصص لديك (البرنامج النصي) إلى قاعدة بيانات MySQL ذاتها.

توضح هذه المقالة الطرق الثلاث التالية، بالإضافة إلى أمثلة تعليمات برمجية PHP المقابلة التي تشرح كيفية الاتصال بقاعدة البيانات الخاصة بك من PHP.

بالنسبة لجميع الأمثلة أدناه، سنقوم بالاتصال بقاعدة بيانات MySQL الموجودة. ملحوظة: كل ما تم شرحه هنا سيعمل أيضًا مع MariaDB، تمامًا مثل MySQL.

1. الاتصال بـ PHP باستخدام ملحق mysqli
*mysqli يعني تحسين MySQL

قم بإنشاء ملف mysqli.php التالي

Connect_error) ( die("خطأ: غير قادر على الاتصال: " . $conn->connect_error); ) echo "متصل بقاعدة البيانات.
"; $result = $conn->query("SELECT id FROM goroda"); echo "عدد الصفوف: $result->num_rows"; $result->إغلاق(); $conn->إغلاق(); ?> في الكود أعلاه:

  • mysqli - تبدأ هذه الوظيفة اتصالاً جديدًا باستخدام ملحق mysqli. تأخذ الدالة أربع وسائط:
    1. المضيف المحلي هو اسم المضيف الذي تعمل عليه قاعدة بيانات MySQL
    2. الاسم - اسم مستخدم MySQL للاتصال
    3. تمرير - كلمة المرور لمستخدم MySQL
    4. db - قاعدة بيانات MySQL للاتصال بها.
  • qvery هي وظيفة استعلام MySQL. في هذا المثال، نختار عمود المعرف من قاعدة بيانات المدينة.
  • وأخيرًا، نعرض عدد الصفوف المحددة باستخدام المتغير num_rows في النتيجة. نقوم أيضًا بإغلاق كل من النتيجة ومتغير الاتصال كما هو موضح أعلاه.
عند استدعاء mysqli.php أعلاه من متصفحك، سترى الإخراج التالي الذي يشير إلى أن PHP كان قادرًا على الاتصال بقاعدة بيانات MySQL واسترداد البيانات.

متصل بقاعدة البيانات. عدد الخطوط: 6 2. الاتصال من PHP MySQL PDO Extension
*يرمز PDO إلى كائنات بيانات PHP

يقوم برنامج التشغيل PDO_MYSQL بتنفيذ واجهة PDO التي توفرها PHP للاتصال من برنامج PHP النصي الخاص بك بقاعدة بيانات MySQL.

قم بإنشاء ملف mysql-pdo.php التالي:

setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); صدى "متصل بقاعدة البيانات.
"; $sql = "اختر المعرف من goroda"; اطبع "قائمة المعرفات:
"; foreach ($conn->query($sql) كـ $row) ( print $row["id"] . "
"; ) $conn = null; ) Catch(PDOException $err) ( echo "خطأ: غير قادر على الاتصال: " . $err->getMessage(); ) ?> فيما سبق:

  • new PDO - سيتم إنشاء كائن PDO جديد سيأخذ الوسائط الثلاثة التالية:
    1. سلسلة اتصال MySQL: ستكون بالتنسيق "mysql:host=localhost;dbname=db". في المثال أعلاه، يتم تشغيل قاعدة البيانات على مضيف محلي ونحن نتصل بقاعدة بيانات قاعدة البيانات.
    2. اسم مستخدم MySQL للاتصال
    3. كلمة مرور مستخدم Mysql
  • متغير $sql - قم بإنشاء استعلام SQL الذي تريد تنفيذه. في هذا المثال، نحدد عمود المعرف من جدول المدن.
  • الاستعلام ($sql). نحن هنا نقوم بتنفيذ استعلام SQL الذي أنشأناه للتو.
  • com.foreach. نقوم هنا بتكرار النتيجة من أمر الاستعلام أعلاه وتخزينها في متغير صف $ ثم إخراجها باستخدام الصدى.
  • في MySQL PDO، لإغلاق الاتصال، ما عليك سوى ضبط المتغير $conn على القيمة null.
عند استدعاء البرنامج النصي mysqli.php أعلاه من متصفحك، سترى الأسطر التالية؛ تعني أن PHP كانت قادرة على الاتصال بقاعدة بيانات MySQL واسترداد المعلومات:

متصل بقاعدة البيانات. معرف القائمة: 1 2 3 4 5 6 3. الاتصال من PHP باستخدام وظائف MySQL القديمة

استخدم هذه الطريقة فقط إذا كنت تستخدم إصدارًا أقدم من PHP ولا يمكنك الترقية إلى الإصدار الجديد لسبب ما. يوصى باستخدام الطريقة رقم 2 والطريقة رقم 3 الموضحة أعلاه بدلاً من هذه الطريقة. لقد قمت بتضمين هذه الطريقة كمرجع فقط وليس كتوصية للاستخدام.

لقد تم إهمال هذا الامتداد تحديدًا منذ PHP 5.5. ولكن اعتبارًا من PHP 7.0، لن يعمل هذا حتى منذ إزالته. منذ PHP 5.5، عند استخدام هذه الوظائف، سيؤدي ذلك إلى إنشاء خطأ E_DEPRECATED.

قم بإنشاء ملف mysql.php:

"; $result = mysql_query("SELECT id FROM goroda"); $row = mysql_fetch_row($result); echo "id 1: ", $row, "
\n"; mysql_ Close($conn); ?> في ما سبق:

  • تأخذ الدالة mysql_connect ثلاث وسائط:
    1. اسم المضيف حيث يتم تشغيل قاعدة بيانات MySQL؛
    2. اسم مستخدم MySQL للاتصال؛
    3. كلمة المرور لمستخدم MySQL. هنا يتصل بقاعدة بيانات MySQL التي تعمل على الخادم المحلي باستخدام اسم المستخدم وكلمة المرور الخاصة به.
  • وظيفة mysql_select_db. وكما يوحي الاسم، فهو يحدد قاعدة البيانات التي تريد الاتصال بها. أي ما يعادل أمر "الاستخدام". في هذا المثال نحن نتصل بقاعدة بيانات ديسيبل.
  • وظيفة mysql_query - تستخدم لتحديد استعلام MySQL الخاص بك. في هذا المثال، نختار عمود المعرف من قاعدة بيانات المدينة.
  • mysql_fetch_row. استخدم هذه الوظيفة لاستخراج الصفوف من استعلام SQL الذي أنشأناه للتو.
  • وأخيرًا، قم بإغلاق الاتصال باستخدام الأمر mysql_Close كما هو موضح أعلاه.
عند استدعاء mysql-legacy.php أعلاه من متصفحك، سترى الإخراج التالي، مما يشير إلى أن PHP كان قادرًا على الاتصال بقاعدة بيانات MySQL واسترداد المعلومات:

متصل بقاعدة البيانات. المعرف 1: 1 هذه هي الطريقة التي يمكنك من خلالها الاتصال بـ MySQL. وأكرر، الأفضل استخدام الطريقتين الأوليين؛ يا

لتحقيق أقصى استفادة من قاعدة بيانات MySQL، من المهم فهم كيفية الاتصال من برنامج PHP مخصص إلى قاعدة بيانات MySQL.

يصف هذا البرنامج التعليمي الطرق الثلاث التالية بالإضافة إلى مثال برنامج PHP المطابق الذي سيشرح كيفية الاتصال باستخدام PHP بقاعدة بيانات.

  • الاتصال باستخدام ملحق Mysqli (مستحسن)
  • الاتصال باستخدام PDO (مستحسن)
  • الاتصال باستخدام وظائف mysql_ التقليدية (قديمة)

للقيام بذلك، تحتاج إلى تثبيت حزمة PHP-MySQL.

استنادًا إلى توزيع RedHat بما في ذلك، استخدم yum لتثبيت PHP-MySQL كما هو موضح أدناه.

يم تثبيت php-mysql

اعتمادًا على نظامك، سنقوم بتثبيت أو تحديث التبعيات التالية أعلاه:

  • php-cli
  • PHP-مشترك
  • PHP-PDO
  • php-pgsql

بمجرد تثبيت كل شيء، ستعرض صفحة phpinfo وحدة MySQL كما هو موضح أدناه:

بالنسبة لجميع الأمثلة أدناه، سنقوم بالاتصال بقاعدة بيانات MySQL الموجودة بالفعل. إذا كنت جديدًا في MySQL، فهذا مكان جيد للبدء: .

ملاحظة: كل ما هو موضح هنا سيعمل أيضًا مع MariaDB، تمامًا كما يعمل مع MySQL.

1. الاتصال بلغة PHP باستخدام ملحق Mysqli

يشير MySQLi إلى MySQL Improved.

يرجى ملاحظة أنه في معظم التوزيعات (على سبيل المثال: CentOS)، يعد PHP-MySQLi بالفعل جزءًا من حزمة PHP-MySQL. بهذه الطريقة لن تضطر إلى البحث عن حزمة PHP-MySQLi وتثبيتها. كل ما عليك فعله هو تثبيت حزمة PHP-MySQL للحصول على ملحق Mysqli فعال على نظامك.

قم بإنشاء ملف mysqli.php التالي في DocumentRoot في Apache:

Connect_error) ( die("خطأ: غير قادر على الاتصال: " . $conn->connect_error); ) echo "جارٍ الاتصال بقاعدة البيانات.
"; $result = $conn->query("حدد اسم الموظف"); echo "عدد الصفوف: $result->num_rows"; $result->إغلاق(); $conn->إغلاق(); ?>

في ما سبق:

  • MySQLi - ستبدأ هذه الوظيفة اتصالاً جديدًا باستخدام ملحق Mysqli. ستأخذ هذه الوظيفة أربع وسائط:
    1. اسم المضيف حيث يتم تشغيل قاعدة بيانات MySQL
    2. اسم المستخدم للاتصال MySQL
    3. كلمة مرور مستخدم Mysql
    4. قاعدة بيانات MySQL للاتصال بها.
  • وظيفة الاستعلام - استخدم هذا لتحديد استعلام MySQL الخاص بك. في هذا المثال، نختار عمود الاسم من قاعدة بيانات الموظفين.
  • وأخيرًا، نعرض عدد الصفوف المحددة باستخدام المتغير num_rows. نقوم أيضًا بإغلاق الاتصال كما هو موضح أعلاه.

الاتصال بقاعدة البيانات. عدد الخطوط: 4

ملاحظة: إذا كنت تحاول الاتصال بقاعدة بيانات MySQL بعيدة، فيمكنك القيام بذلك لتجنب خطأ رفض اتصال المضيف: كيفية السماح لعميل MySQL بالاتصال بخادم MySQL بعيد.

2. الاتصال باستخدام PHP بـ MySQL بامتداد PDO

يرمز PDO إلى كائنات بيانات PHP.

تطبق PDO_MYSQL واجهة PDO التي توفرها PHP لتوصيل برنامج بقاعدة بيانات MySQL.

في معظم توزيعات Linux (مثل CentOS وRedHat)، تكون حزمة PHP-PDO مضمنة بالفعل في حزمة PHP-MySQL. بهذه الطريقة لن تضطر إلى البحث عن حزمة PHP-PDO وتثبيتها. كل ما عليك فعله هو تثبيت حزمة PHP-MySQL للحصول على امتداد PDO_MYSQL PHP فعال على نظامك.

قم بإنشاء ملف MySQL-pdo.php التالي في Apache DocumentRoot الخاص بك:

setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); صدى "الاتصال بقاعدة البيانات.
"; $sql = "اختر اسم الموظف"; اطبع "اسم الموظف:
"; foreach ($conn->query($sql) كـ $row) ( print $row["name"] . "
"; ) $conn = null; ) Catch(PDOException $err) ( echo "خطأ: غير قادر على الاتصال: " . $err->getMessage(); ) ?>

في ما سبق:

  • new PDO - سيتم إنشاء كائن PDO جديد سيأخذ الوسائط الثلاث التالية:
    1. سلسلة اتصال MySQL: ستكون بالتنسيق "mysql:host=$hostname;dbname=$dbname". في المثال أعلاه، قاعدة البيانات تعمل على المضيف المحلي ونحن متصلون بقاعدة بيانات andreyex.
    2. اسم المستخدم للاتصال بـ MySQL.
    3. كلمة المرور لمستخدم MySQL
  • متغير $sql - يقوم بإنشاء استعلام SQL الذي تريد تشغيله. في هذا المثال، نحدد عمود الاسم من جدول الموظفين.
  • query($sql) – هنا نقوم بتنفيذ استعلام SQL الذي أنشأناه للتو.
  • foreach - هذا هو المكان الذي ننفذ فيه الأوامر المذكورة أعلاه ونخزنها في المتغير $string ثم نعرضها باستخدام أمر الطباعة.
  • في MySQL PDO، لإغلاق الاتصال، ما عليك سوى إعادة تعيين المتغير $conn إلى الصفر.

عندما تتصل بـ mysqli.php من متصفحك، سترى الإخراج التالي، مما يشير إلى أن PHP كان قادرًا على الاتصال بقاعدة بيانات MySQL وجلب البيانات.

الاتصال بقاعدة البيانات. اسم الموظف: سيتسلان ماريا أوليغ

3. الاتصال في PHP باستخدام وظائف mysql_ (قديمة)

استخدم هذه الطريقة فقط إذا كنت تستخدم إصدارًا أقدم من PHP ولا يمكنك التحديث إلى الإصدار الجديد لسبب ما.

هذا هو امتداد PHP 5.5 القديم. ولكن بدءًا من إصدار PHP 7.0، لن يعمل هذا منذ أن تمت إزالته.

اعتبارًا من PHP 5.5، عند استخدام هذه الوظائف، فإنها ستولد خطأ E_DEPRECATED.

قم بإنشاء ملف MySQL-legacy.php التالي ضمن Apache DocumentRoot:

"; $result = mysql_query("اختر الاسم من الموظف"); $row = mysql_fetch_row($result); echo "الموظف 1: ", $row, "
\n"; mysql_ Close($conn); ?>

في ما سبق:

  • تأخذ وظيفة mysql_connect ثلاث وسائط: 1) اسم المضيف الذي تعمل عليه قاعدة بيانات MySQL، 2) اسم المستخدم للاتصال بـ MySQL، 3) كلمة المرور لمستخدم MySQL. نحن هنا نتصل بقاعدة بيانات MySQL، التي تعمل على الخادم المحلي، باستخدام اسم المستخدم الجذر وكلمة المرور الخاصة به.
  • وظيفة mysql_select_db - كما يوحي الاسم، ستحدد قاعدة البيانات التي تريد الاتصال بها. وهذا يعادل أمر "الاستخدام". في هذا المثال نقوم بالاتصال بقاعدة بيانات andreyex.
  • وظيفة mysql_query – استخدمها لتحديد استعلام MySQL الخاص بك. في هذا المثال، نختار عمود الاسم من قاعدة بيانات الموظفين.
  • mysql_fetch_row - استخدم هذه الوظيفة لجلب الصفوف من استعلام SQL الذي أنشأناه للتو.
  • أخيرًا قم بإغلاق الاتصال باستخدام الأمر mysql_Close كما هو موضح أعلاه.

عندما تتصل بـ MySQL-legacy.php من متصفحك، سترى الإخراج التالي، مما يشير إلى أن PHP كان قادرًا على الاتصال بقاعدة بيانات MySQL وجلب البيانات.

الاتصال بقاعدة البيانات. الموظف 1: أندري إكس

سنتحدث في هذه المقالة اليوم عن إنشاء اتصال بقاعدة بيانات وسنناقش الخيار الأفضل للاستخدام الإجرائي أو الموجه للكائنات. أولاً، دعونا نلقي نظرة على المستوى الذي نحن فيه، إذا كان هذا هو مستوى المبتدئين تمامًا، فإن نصيحتي، دون استثناء، هي البدء في استخدام النمط الإجرائي للاتصال بقاعدة البيانات. لقد كتبت سابقًا مقالًا عن هذا الموضوع على مدونتي؛ لمزيد من المعلومات حول الأسلوب الإجرائي للاتصال بقاعدة البيانات، اقرأ المقال: "كيفية الاتصال بـ MySQL باستخدام PHP". إذا كان لديك بالفعل بعض الخبرة في العمل بأسلوب إجرائي للاتصال بقاعدة بيانات، فمن المحتمل أنك، مثلي، قد أخذت مشاريعي وأجبرتهم على استخدام نهج موجه للكائنات.

بطريقة أو بأخرى، سننظر الآن في خطوات إنشاء فئة لإنشاء اتصال بقاعدة بيانات MySQL في PHP. سنحتاج إلى ملفين PHP، في ملف واحد سوف "نضع" فئة لإنشاء اتصال بقاعدة البيانات، وفي الثانية سنعمل مع هذه الفئة.

لنقم بإنشاء ملفين:

  • Index.php;
  • data.class.php;

أعتقد أننا لم نعد أطفالًا بعد الآن ونعرف ما نحتاجه للعمل مع ملفات PHP. خادم الويب المثبت هو Apache وPHP وMySQL DBMS ويعرف مكان وضع هذه الملفات - (لأولئك الذين لا يعرفون أو نسوا).

أضع الملف الذي تم تخزين الفصل فيه في ملف منفصل وقم بتسميته بالتنسيق: class name.class.php وأعرف ما تم تخزينه في هذا الملف. عندما يكون هناك العديد من الفئات في المشروع، يمكن أن تضيع، لذلك أوصي بتسمية الملفات ذات الفئات بالتنسيق الموضح أعلاه.

ملف Database.class.php:

دعونا الآن نلقي نظرة على ما تم إنشاؤه في هذه الخطوة. باستخدام الكلمة الأساسية "فئة"، واسم الفئة - قاعدة البيانات والأقواس المتعرجة، قمنا بإنشاء نص الفئة. في الفئة التي تم إنشاؤها، قمنا بإنشاء خاصيتين، في $mConnect - حيث يتم تخزين نتيجة الاتصال بقاعدة البيانات و$mSelectDB - حيث يتم تخزين نتيجة تحديد قاعدة البيانات. ربما لاحظت الكلمات الرئيسية في كل خاصية - عامة وثابتة. عن ماذا يتحدثون أو ما الذي يتحدثون عنه؟ العام يعني أنه يمكن الوصول إلى الخاصية من خارج الفصل، والثابت يجعل من الممكن الوصول إلى الخاصية أو الاتصال بها دون إنشاء مثيل للفئة، وهو أمر مناسب في كثير من الأحيان في العمل.

لنضيف طريقة Connect() لإنشاء اتصال بقاعدة البيانات:

".الخلية خطأ()."

";exit(); return false; ) // إرجاع النتيجة return self::$mConnect; ) ) ?>

  • $host - عنوان IP للخادم، وهو مضيف محلي على جهاز الكمبيوتر المحلي؛
  • المستخدم - اسم مستخدم قاعدة البيانات؛
  • $pass - كلمة مرور مستخدم قاعدة البيانات؛
  • $name - اسم قاعدة البيانات التي نتصل بها؛

تقوم وظيفة mysql_connect() بإنشاء اتصال بقاعدة البيانات وتخزين نتيجة التنفيذ في $mConnect. بعد ذلك يأتي التحقق من بنية IF: إذا لم يكن الاتصال ناجحًا، فاعرض رسالة خطأ... وإلا، فسوف يتجاهل PHP كتلة IF ويستمر في تحديد قاعدة البيانات. تقوم الدالة mysql_select_db() بتحديد اسم قاعدة البيانات، إذا كانت قاعدة البيانات المطلوبة غير موجودة في قاعدة البيانات، في هذه الحالة سيقوم البرنامج بإبلاغ المستخدم بوجود خطأ. إذا نجح كل شيء، فسيعود اتصال قاعدة البيانات.

أضف طريقة Close():

عذرًا، لم نتمكن من الاتصال بخادم MySQL

";exit(); return false; ) // حاول تحديد قاعدة بيانات self::$mSelectDB = mysql_select_db($name, self::$mConnect); // إذا لم يتم تحديد قاعدة البيانات، فاعرض رسالة خطأ.. إذا(!self::$mSelectDB) (صدى "

".الخلية خطأ()."

";exit(); return false; ) // إرجاع النتيجة return self::$mConnect; ) // تغلق الطريقة الاتصال بقاعدة البيانات public static function Close() ( // إرجاع النتيجة return mysql_ Close(self: :$mConnect) )) ) ?>

الطريقة التالية والأخيرة في هذه الفئة، Close()، تغلق الاتصال بقاعدة البيانات؛ وتغلق وظيفة mysql_ Close() الاتصال بخادم MySQL وترجع النتيجة.

ملف Index.php:

باستخدام الدالة Define()، قمنا بإنشاء ثوابت لتخزين معلمات اتصال قاعدة البيانات. يتضمن Require_once فئة DataBase الخاصة بنا في ملف Index.php.

دعونا نتذكر الكلمة الأساسية الثابتة التي تم استخدامها في فئة DataBase في خصائص وأساليب هذه الفئة. يمنحنا هذا القدرة على الوصول إلى خصائص وأساليب الفصل باستخدام "::" (نقطتين). تأخذ طريقة DataBase::Connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE) 4 معلمات - الثوابت التي تم إنشاؤها بواسطة وظيفة Define()، والتي تخزن معلومات حول الاتصال بقاعدة البيانات. إذا كان الاتصال ناجحًا، فستعيد لنا طريقة Connect() اتصال قاعدة البيانات. بعد ذلك، سنكون قادرين على العمل وتنفيذ الاستعلامات إلى قاعدة البيانات. وظيفة mysql_query () - تنفذ استعلامًا لقاعدة البيانات. تقوم الدالة mysql_fetch_assoc() بمعالجة سلسلة من نتائج الاستعلام وإرجاع مصفوفة ترابطية. يعرض إنشاء الصدى إصدار خادم MySQL. وأخيرًا، سيقوم الأسلوب DataBase::Close() بإغلاق الاتصال بقاعدة البيانات.

باستخدام لغة PHP...

إنشاء اتصال قاعدة بيانات في PHP بطرق مختلفة:

1) الطريقة القديمة للاتصال بـ MySQL:

$conn=mysql_connect($db_hostname, $db_username, $db_password) أو يموت ("لا يوجد اتصال بالخادم");
mysql_select_db($db_database,$conn) أو يموت ("لا، لم يكن من الممكن الاتصال بقاعدة البيانات")؛

شرح المتغيرات أدناه.

يتم استخدام الوظائف التالية:

  • mysql_connect()- للاتصال بالخادم.
  • mysql_select_db()- للاتصال بقاعدة البيانات؛

في الوقت نفسه، نتحقق باستمرار من الأخطاء بهذه الطريقة: أو نموت ("الخطأ كذا وكذا")؛ - تُترجم على أنها أو تموت مع خطأ كذا وكذا - للعثور على مكان الخطأ على الفور.

التكوين.php

// متغيرات الاتصال بقاعدة البيانات
$host = "المضيف المحلي"; /يستضيف
اسم المستخدم $ = "الجذر"; // كلمة المرور للاتصال بقاعدة البيانات
كلمة المرور $ = ""; // كلمة المرور للاتصال بقاعدة البيانات - يمكن أن تكون فارغة على الكمبيوتر المحلي.
$database_name = "my-dolgi"; // اسم قاعدة البيانات

// الطريقة القديمة للاتصال بقاعدة البيانات
mysql_connect($host, $username, $password) أو die("لا يمكن الاتصال وإنشاء اتصال");

// حدد قاعدة البيانات. إذا كان هناك خطأ، الإخراج
mysql_select_db($database_name) أو die(mysql_error());

Index.php

require_once "config.php";


$result = mysql_query("حدد الاسم، المال من Dolg ORDER BY Money DESC LIMIT 5") أو die(mysql_error());



";


بينما ($row = mysql_fetch_assoc($result)) (
";
}


mysql_free_result($result);

// أغلق الاتصال
mysql_Close();

2) أسلوب إجرائي أكثر تقدمًا - الاتصال بقاعدة البيانات باستخدام mysqli:

هذه الطريقة:

  1. مريح؛
  2. أسرع بما يصل إلى 40 مرة؛
  3. زيادة الأمن؛
  4. هناك ميزات ووظائف جديدة؛

مثال على الاتصال بقاعدة بيانات في PHP مع تحديد من الجدول

التكوين.php

// اتصالات بقاعدة البيانات
$link = mysqli_connect("localhost"، "username"، "password"، "name-database"); // هنا نقوم بإدخال بياناتك مباشرة: اسم المستخدم وكلمة المرور واسم قاعدة البيانات، وعادة ما يكون الحقل الأول هو المضيف المحلي

// خطأ في اتصال الإخراج
إذا (!$رابط) (
صدى "خطأ في الاتصال بقاعدة البيانات. رمز الخطأ: " . mysqli_connect_error();
مخرج؛
}

يرجى ملاحظة - يتم استخدام mysqli في كل مكان، وليس mysql !!!

Index.php

require_once "config.php";

// تنفيذ الطلب. إذا كان هناك خطأ، نعرضه
إذا (النتيجة = mysqli_query(رابط $,"اختر الاسم، أموال من أمر الدين حسب حد تنازلي عن الأموال 5")) (

صدى "لمن أدين بالترتيب التنازلي:

";

// جلب نتائج الاستعلام
بينما ($الصف = mysqli_fetch_assoc((النتيجة)) (
صدى $row["Name"] . "بالديون". $row["المال"] . "روبل.
";
}

// تحرير الذاكرة المستخدمة
mysqli_free_result(نتيجة)؛

// أغلق الاتصال
mysqli_ Close(رابط $);
}

كما ترون، تغيرت بعض النقاط (بالخط المائل).

3) طريقة كائنية التوجه للاتصال بقاعدة بيانات MySQL - باستخدام الأساليب والفئات:

السلبيات: أكثر تعقيدًا وأقل عرضة للأخطاء.

الإيجابيات: الإيجاز والراحة للمبرمجين ذوي الخبرة.

$conn = new mysqli($db_hostname, $db_username, $db_password, $db_database);
إذا($conn->connect_errno)(
يموت($conn->connect_error);
) آخر (صدى "تم إنشاء الاتصال بقاعدة البيانات بنجاح"؛)

هنا، من حيث المبدأ، كل شيء بديهي:

  • $db_hostname هو يستضيف(مضيف محلي في الغالب)،
  • $db_database - اسم ديسيبل;
  • $db_username و $db_password - اسم المستخدم وكلمة المرور على التوالي!

مثال على الاتصال بقاعدة بيانات بأسلوب php OOP مع أخذ عينات من جدول

التكوين.php

// اتصالات بقاعدة البيانات
$mysqli = new mysqli("localhost", "username", "password", "name-database"); // هنا نقوم بإدخال بياناتك مباشرة: اسم المستخدم وكلمة المرور واسم قاعدة البيانات، وعادة ما يكون الحقل الأول هو المضيف المحلي

// خطأ في اتصال الإخراج
إذا ($mysqli->connect_error) (
يموت ("خطأ في اتصال قاعدة البيانات: (" . $mysqli->connect_errno . ") " . mysqli_connect_error) ؛
}

يرجى ملاحظة - يتم استخدام mysqli في كل مكان، وليس mysql !!! وعلى عكس الطريقة السابقة، تظهر الأسهم "->"، والتي تشير إلى أن هذا هو نمط OOP.

Index.php

require_once "config.php";

// تنفيذ الطلب. إذا كان هناك خطأ، نعرضه
إذا (النتيجة = $ Mysqli->الاستعلام("اختر الاسم، أموال من أمر الدين حسب حد تنازلي عن الأموال 5")) (

صدى "لمن أدين بالترتيب التنازلي:

";

// جلب نتائج الاستعلام
بينما ($row = $result-> fetch_assoc()) {
صدى $row["Name"] . "بالديون". $row["المال"] . "روبل.
";
}

// تحرير الذاكرة المستخدمة
$النتيجة->إغلاق ();

// أغلق الاتصال
$Mysqli->إغلاق();
}

مهمتك هي العثور على الاختلافات.

4) التواصل مع قاعدة البيانات باستخدام PDO:

عند الاتصال بقاعدة بيانات MySQL، يتم استخدام التعبيرات المعدة (باستخدام طريقة التحضير) ونتيجة لذلك، يكون هناك أمان أكبر ويزيد الأداء بشكل كبير.

ملف التكوينمن الطريقة السابقة! - نفس

Index.php

// أسلوب PDO للتواصل مع MySQL
إذا ($stmt = $mysqli->prepare("اختر الاسم، Voney من Dolg ORDER BY Money"< ? LIMIT 5")) {

$stmt->bind_param("i", $summa);
$المجموع = 100000؛

//بدء التنفيذ
$stmt->تنفيذ();

// الإعلان عن المتغيرات للقيم المعدة
$stmt->bind_result($col1, $col2);

صدى "لمن أدين بالترتيب التنازلي:

";

// جلب نتائج الاستعلام
بينما ($stmt->fetch()) (
صدى $col1 . "بالديون". $col2 . "روبل.
";
}

// تحرير الذاكرة المستخدمة
$stmt->إغلاق();

// أغلق الاتصال
$mysqli->إغلاق();

كما ترون، هذا أكثر تعقيدًا وتحتاج إلى دراسة شركة تنمية نفط عمان - وهذا موضوع منفصل.