لاهمية موضوع قواعد البيانات ، سوف نقوم في هذه الدورة بتغطية دوال قواعد البيانات وهي اثنتان وثلاثون دالة فإلى الدرس الأول :

1- الدالة mysql_connect :

integer mysql_connect(string host, string username,
string password);

تقوم هذه الدالة بالاتصال مع قاعدة البيانات وتعيد لك رقم يفيدك اذا كان لديك أكثر من اتصال بقواعد البيانات ، احتفظ به لاستخدامه في دوال أخرى تالية اذا كان هناك حاجة لذلك كما قلنا ، اما الوضع الطبيعي فلا يحتاج الا الى الاتصال بالطريقة السابقة فقط وبدون الاحتفاظ بأي رقم ، فقط مرر للدالة اسم الخادم واسم المستخدم وكلمة المرور ، ولكن يتوجب عليك بعد الانتهاء أن تغلق الاتصال باستخدام الدالة mysql_close
مثال :

$link = mysql_connect("db.azzozhsn.f2s.com","mag","Pass");
?>

 

2- الدالة mysql_pconnect :

integer mysql_pconnect(string host, string username,
strin password);

هذه الدالة تقوم بما تقوم به الدلة السابقة إلا أنه لا يتوجب عليك إغلاق الاتصال ، مثال:

$link = mysql_pconnect("db.azzozhsn.f2s.com","mag","Pass");
?>

 

3- الدالة mysql_select_db :

boolean mysql_select_db(string database, integer link);

تقوم هذه الدالة باختيار قاعد البيانات المحدد لها. مثال:

mysql_select_db(string database, integer link);
?>

 

4- الدالة mysql_db_query :

boolean mysql_db_query(string database, string query,
integer link);

تقوم هذه الدالة بتنفيذ سطر SQL على قاعدة البيانات المفتوحة بالمعطى database مثال:

$link = mysql_connect("db.azzozhsn.f2s.com","mag","Pass"); 
$Query = "DELETE FROM magazine"; 
$result = mysql_db_query("mag", $Query, $link);
?>

 

5- الدالة mysql_close :

boolean mysql_close(integer link);

تقوم هذه الدالة بقطع ( إغلاق) قاعدة البيانات ، مرر لها رقم الاتصال المعاد من الدالة mysql_connect
مثال:

// الاتصال بقاعدة البيانات ..
$link = mysql_connect("localhost","mag","Pass"); 
// اغلاق الاتصال بقاعدة البيانات ..
mysql_close($link);
?>

 

6- الدالة mysql_query:

integer = mysql_query(string query, integer link);

تقوم هذه الدالة بما تقوم به الدالة mysql_db_query تقريباً إلا أن الدالة mysql_query يقتصر عملها على قاعدة البيانات المحددة بالدالة mysql_select_db .
في حالة عدم تمرير رقم الاتصال فستعمل الدالة على الاتصال الأخير.
مثال:

$link = mysql_connect("localhost","mag","Pass"); 
$query = "DELETE FROM magazine"; 
$result = mysql_query($query, $link);
?>

 

7- الدالة mysql_errno :

integer mysql_errno(integer link);

تقوم هذه الدالة بإعادة رقم آخر خطأ حدث في التعامل مع قاعدة البيانات.

 

8- الدالة mysql_error :

string mysql_error(integer link);

تعيد هذه الدالة رسالة الخطأ الحاصل في قاعدة البيانات .

 

9 - الدالة mysql_create_db :

boolean mysql_create_db(string databasename, integer link);

تقوم هذه الدالة بإنشاء قاعدة بيانات جديدة مرر لها اسم قاعدة البيانات ورقم الاتصال العائد من الدالة mysql_connect أومن الدالة mysql_pconnect ..
مثال:

// حيث أن الفراغ هو الباسورد az الإتصـال بقاعدة بيانات اسمها
$link = mysql_pconnect("localhost", "az", "");
// انشاء قاعدة بيانات جديدة
if (! mysql_create_db($link, "mag"))
{
    print("فشل إنشاء قاعدة البيانات الجديدة")
    exit();
}
?>

 

10- الدالة mysql_drop_db :

boolean mysql_drop_db(string databasename, integer link);

تقوم هذه الدالة بحذف قاعدة البيانات المحددة بالمعطى databasename ..

11- الدالة mysql_list_dbs :

integer mysql_list_dbs(integer link);

تقوم هذه الدالة بإعادة موشر لكل قواعد البيانات الموجودة في الخادم لغرض استعمالها مع الدالة mysql_fetch_row وأمثالها .

 

12- الدالة mysql_field_seek :

boolean mysql_field_seek(integer result, integer field);

تقوم هذه الدالة بتحديد الحقل المرر إليها رقمه . مثال :

// حيث أن الفراغ هو الباسورد az الإتصـال بقاعدة بيانات اسمها
$dbLink = mysql_pconnect("localhost","az","");
//  Authors أختيـار قاعدة البيانات
mysql_select_db("Authers", $dbLink);
// Adress اختيار جميع الحقول من الجدول
$Query = "SELECT * FROM adress";
$result = mysql_query($Query, $dbLink);
// الانتقال الى الحقل الثاني اعتماداً على عملية الاختيار
mysql_field_seek($reslut, 1);
?>

 

13- الدالة mysql_field_name :

string mysql_field_name(integer result, integer feild);

تعيد هذه الدالة اسم الحقل المحدد بالرقم المرر إليها والذي يبدأ بالرقم صفر للحقل ( العمود ) الأول . مثالها سيأتي بعد قليل .

14- الدالة mysql_field_type :

string mysql_field_type(integer result, integer feild);

تعيد هذه الدالة نوع الحقل المحدد بالرقم المرر إليها والذي يبدأ بالرقم صفر للحقل ( العمود ) الأول . المثال سيأتي بعد قليل أيضاً ..

 

15- الدالة mysql_field_len :

string mysql_field_len(integer result, integer feild);

تعيد هذه الدالة طول الحقل بالبايت المحدد بالرقم المرر إليها والذي يبدأ بالرقم صفر للحقل ( العمود ) الأول . المثال بعد قليل ..

16- الدالة mysql_field_flags :

string mysql_field_flags(integer result, integer feild);

تعيد هذه الدالة وصف الحقل المحدد بالرقم المرر إليها والذي يبدأ بالرقم صفر للحقل ( العمود ) الأول .

17- الدالة mysql_list:

mysql_list(string database, string table, integer link);

المثال الشامل :

// حيث أن الفراغ هو الباسورد az الإتصـال بقاعدة بيانات اسمها
$link = mysql_pconnect("localhost", "az", "");
// ترتيب الحقول وجلبها
$result = mysql_list_field("mag", "table", integer link);
// حلقة تكرار للمرور على كل حقل
for ($a = 0; $a < mysql_field_num($result); $a++)
{
    print(mysql_field_name($result, $i);
    print(mysql_field_type($result, $i));
    print(mysql_field_len($result, $i));
    print(mysql_field_flags($result, i));
}
?>

 

18- الدالة mysql_fetch_field :

object mysql_fetch_field(integer result, integer field);

?>

 

استخدم هذه الدالة لتحصل على معلومات حول حقول الجدول المراد، الحقول ترقم بدايةً من صفر وصف الحقل مشروح في الجدول التالي:

 

الخاصة

الوصف

blob

إذا كانت TRUE فالحقل عبارة عن عن حقل بيانات كبير

maxlength

الطول الأقصى للحقل

multiple_key

تكون TRUE إذا كان الحقل مفتاحاً

name

أسم الحقل

not_null

تكون TRUE إذا كان الحقل لا يمكن أن يكون فارغاً

numric

تكون TRUE إذا كان الحقل يرقم تلقائياً

primary_key

تكون TRUE إذا كان الحقل يمثل مفتاحاً رئيساً

unque_key

تكون TRUE إذا كان الحقل يمثل مفتاحاً ثانوياً

zerofill

تكون TRUE إذاكان الحقل يملأ بالقيمة 0

 

19 - الدالة mysql_fetch_lengths :

array mysql_fetch_lengths(integer result);

?>

استخدم هذه الدالة لتعيد مصفوفة تحتوي على الطول الأقصى لكل حقل محدد في المعطيresult.

//Connect to server as azzozhsn no password

$link = mysql_pconnect("localhost","azzozhsn","");

//Select th magazine database

mysql_select_db("magazine",$link);

//Get name and id from magazine

$Query = 'SELECT name, id FROM magazine';

$result = mysql_query($Query, $link);

$length = mysql_fetch($result);

//Print length of the third column

print($lengths[2]);

?>

 

20 - الدالة mysql_fetch_array :

array mysql_fetch_array(integer result);

?>

هذه الدالة تعيد مصفوفة تحتوي على قيم سجل وتنقل المؤشر إلى السجل التالي. مثال:

//Connect to server as azzozhsn no password

$link = mysql_pconnect("localhost","azzozhsn","");

//Select th magazine database

mysql_select_db("magazine",$link);

//Get name and id from magazine

$Query = 'SELECT name, id FROM magazine';

$result = mysql_query($Query, $link);

//Get every row

while($row=mysql_fetch_array($result, MYSQL_ASSOC)){

 //Print mane and id

    print({$row["id"]}={$row["name"]});

}

?>

 

21- الدالة mysql_fetch_object :

object mysql_fetch_object(integer result)

?>

هذه الدالة تشبه الدالة mysql_fetch_array إلا أنها تعيد كائن. عند استدعاء الدالة ينتقل المؤشر إلى السجل التالي في الجدول، وإذا ةصل إلى نهاية الجدول ثم استدعيت الدالة مرة أخرى فإنها تعيد القيمة FALSE مثال:

while($row=mysql_fetch_object(result)){

 //print id and name

    print ("$row->id, $row->name")

}

?>

 

22- الدالة mysql_fetch_row :

هذه الدالة تعيد مصفوفة تحتوي على قيم حقول سجل من الجدول وكل استدعاء يعيد قيمة الحقول في السجل التالي في الواقع هذه الدالة تشبه الدالتين السابقتين. مثال:

while($row=mysql_fetch_row(result)){

 //print id and name

    print ("$row[0], $row[1]")

}

?>

 

23- الدالة mysql_change_user :

musql_change_user(string user, string password, string db, integer link);

?>

استخدم هذه الدالة لتغيير مستخدم قاعدة بيانات المتصل بها.

المعطيان db, link اختيارية وفي حالة فقدهما يستعاض عنهما بالاتصال الحالي.

هذه الدالة تتطلب إصدار MySQL 3.23.3 أو ما بعدها.