أكواد PHP – کلاس PHP DB Class لقواعد البيانات

السلام عليكم
في هذه التدوينة شوف أقوم بشرح كلاس يساعد على الاتصال بقواعد البيانات بسهولة ومرونة. الكلاس هو PHP DB Class – MySQL Database Class.

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

يمكن استعمال الدوال كالآتي:

<?php
/************************** قبل کل شیء *************************/

// تضمين الكلاس الرئيسي
include("db.class.php");

// إنشاء الكائن
$db = new DB($base, $server, $user, $pass);

/************************** الاستعلامات البسيطة **********************************/

// القيام باستعلام (كما في دالة mysql_query):
$result = $db->query("SELECT * FROM People");
$result = $db->query("SELECT * FROM People", true); // المتغير الثانية هو لعرض التعلميات التفصيلية المتعلقة بالدالة

// عرض نتائج الاستعلام 
while ($line = $db->fetchNextObject($result)) {}
while ($line = $db->fetchNextObject()) {} // من آخر استعلام تم القيام به

// للقيام باستعلام واحد فقط
$db->query("SELECT * FROM People");
while ($line = $db->fetchNextObject()) {
  use($line->aField);
}

// للقيام باستعلامات فرعية يمكن تخزين معلومات الاستعلام الأول:
$result = $db->query("SELECT * FROM Towns");
while ($line = $db->fetchNextObject($result)) {
  $db->query("SELECT * FROM People WHERE town='{$line->name}'");
  while ($line2 = $db->fetchNextObject()) {
    use($line->aField, $line2->anotherField);
  }
}

// يمكنك أيضاً اضافة استعلام لا يقوم باسترجاع أي معلومات من قواعد البيانات (كإضافة، أو حذف أو تحديث ...)
$db->execute("UPDATE People SET name=name");

/************************** دوال مساعدة *********************/
// القيام باستعلام ياسترجاع الكائن مباشرة (أو من دون الكائن إذا لم تكن هناك أية نتائج):
// يساوي هذا المثال استدعاء query() ومن ثم fetchNextObject().
$line = $db->queryUniqueObject("SELECT * FROM People WHERE id=2");
$line = $db->queryUniqueObject("SELECT * FROM People WHERE id=2", true); // With DEBUG

// استرجاع قيمة MAX من عموچ فی قاعدة البيانات مع شرط معين:
// مثال: "SELECT MAX(age) FROM People WHERE town='Paris'" يمكن أن يكتب هكذا:
$max = $db->maxOf("age", "People", "town='Paris'");

// وإذا لم يكن هناك شرط:
$max = $db->maxOfAll("age", "People");

// استرجاع عدد الاسطر في جدول معين مع استخدام شرط:
// مثال: "SELECT COUNT(*) FROM People WHERE town='Paris'" يمكن أن يكتب هكذا:
$count = $db->countOf("People", "town='Paris'");

// وإذا لم يكن هناك شرط
$count = $db->countOfAll("People");

/************************** دوال أخرى: ********************************/

// استرجاع رقم آخر سطر أُدخل:
$lastId = $db->lastInsertedId();

// استرجاع مدة تنفيد الكود:
$time = $db->getExecTime();

// استرجاع عدد الاستعلامات المنفذة:
$queriesCount = $db->getQueriesCount();

// إغلاق الإتصال بقواعد البيانات
$db->close();?>

أتمنى أن يعجبكم هذا الكلاس ويمكن تحميله من الرابط أسفل.

[box type=”download” align=”center” width=”104px”]تحميل الكلاس[/box]

اترك تعليقاً

الحقول المطلوبة موسومة بالعلامة *.