لاهمية موضوع قواعد البيانات ، سوف نقوم في هذه الدورة بتغطية دوال قواعد البيانات وهي اثنتان وثلاثون دالة فإلى الدرس الأول :
1- الدالة mysql_connect :
1- الدالة mysql_connect :
integer mysql_connect(string host, string username,
string password);
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);
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);
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 :
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 :
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 :
16- الدالة mysql_field_flags :
string mysql_field_flags(integer result, integer feild);
تعيد هذه الدالة وصف الحقل المحدد بالرقم المرر إليها والذي يبدأ بالرقم صفر للحقل ( العمود ) الأول .
17- الدالة mysql_list:
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 أو ما بعدها.