php الدرس الخامس عشر فى

PHP Database(part1)

سنشرح باذن اللة فى هذا الجزء عمل قاعدة بيانات والاتصال بيها عن طريق لغة البى اتش بى وانشاء استعلامات على قاعدة البيانات كجلب داتا من قاعدة البيانات او تعديل على الداتا داخل قاعدة البيانات او حذف من قاعدة البيانات وهذا الجزء هو من اهم الاجزاء فى لغة البى اتش بى لان مبرمج او مطور لغة البى اتش بى يعتبر انشاء قواعد البيانات وتنفيذ الاستعلامات عليها هو اساس عملة.ولغة البى اتش بى يمكن لها ان تتصل بمختلف قواعد البيانات كالاوركل والاسكيوال سرفر وغيرها لكنها تعمل بشكل متكامل مع قاعدة بيانات (mysql) وهى من اشهر قواعد البيانات واقواها كما انها من المصادر المفتوحة(open source) اى مجانية الاستخدام وقاعدة البيانات (mysql) هى مدمجة مع السرفر كالاباتشى سرفر او الومب سرفر وللوصول اليها عن طريق اللينك التالى:

Localhost/mysql

اولا نقوم بانشاء قاعدة بيانات واليك الرابط التالى لتعليم كيفية انشاء قاعدة بيانات داخل (mysql):

ثانيا بعد انشاء قاعدة البيانات نقوم بعمل وصلة بلغة البى اتش بى للاتصال بهذة القاعدة كالتالى:

mysqli_connect(host,username,password,dbname);

حيث ان هذة الدالة لها اربع بارمترات كالتالى

البارمتر الاول(host):عبارة عن اسم الاستضافة الموجود عليها الموقع ونظرا لاننا نعمل على سرفر محلى فسنكتب اسم الاستضافة المحلية وهي (localhost).

البارمتر الثانى(username):هو عبارة عن اسم المستخدم لقاعدة البيانات.

البارمتر الثالث(password): هو عبارة عن باسورد قاعدة البيانات.

البارمتر الرابع(dbname):هو عبارة عن اسم قاعدة البيانات.

ملاحظة مهمة جدا:ليس من الضرورى عمل اسم مستخدم وباسورد لقاعدة البيانات لذلك فى حالة عدم عمل اسم مستخدم وباسورد للقاعدة فيترك مكانها فارغ.

مثال عملى على الاتصال بقاعدة بيانات اسمها(product):

<?php

mysqli_connect(“localhost”,””,””,”product”);

?>

الاستعلامات داخل لغة البى اتش بى:

وهما عبارة عن اربع حالات من الاستعلامات (insert,select,update,delete) ولكن قبل ان نقوم بشرحهم لابد من انشاء جدول داخل قاعدة البيانات والتى اطلقنا عليها(product) وليكن اسمى هذا الجدول (table1) ونقوم بعمل ثلاث حقول داخل هذا الجدول وهما (id,name,type).

(1)Insert:

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

INSERT INTO table_name (column1, column2, column3,…)
VALUES (value1, value2, value3,…)

حيث(table_name) هو اسم الجدول داخل قاعدة البيانات.

كما ان (column1, column2, column3,…) هى عبارة عن الحقول الموجودة داخل الجدول.

وايضا (value1, value2, value3,…)عبارة عن الصف الجديد من الداتا الذى يتم ادخالة فى الجدول.

والان نريد مثلا ان ندخل هذة الداتا (1,sugar,packet) فى جدول (table1) فتكون كالتالى:

INSERT INTO table1(id, name, type)
VALUES (1,sugar,packet)

لكن عملية تنفيذ اى استعلام تمر بمجموعة من المراحل فاذا اردنا تطبيق الاستعلام السابق لكى ندخل داتا فى قاعدة البيانات فلابد ان تتبع الخطوات فى المثال التالى:

مثال:

<?php
$con=mysqli_connect(“localhost”,””,””,”product”);
mysqli_query($con,”INSERT INTO table1 (id, name, type)
VALUES (1,’sugar’,’packet’)”);

mysqli_close($con);
?>

حيث فى البداية نقوم بعمل وصلة الاتصال بقاعدة البيانات ووضعها فى متغير ثم نقوم بعمل الاستعلام ولتنفيذ هذا الاستعلام او اى استعلام اخر سندرسة لابد من استخدام دالة تنفيذ الاستعلامات وهى(mysqli_query) وهى دالة تاخذ بارمترين الاول هو عبارة عن وصلة الاتصال بقاعدة البيانات والثانى هو عبارة عن جملة الاستعلام وفى النهاية نستخدم دالة اغلاق الاتصال بقاعدة البيانات بعد الانتهاء من تنفيذ الاستعلام (mysqli_close).

يمكن عمل المثال السابق بطريقة اخرى تمكن مستخدم الموقع من القيام بادخال داتا الى قاعدة البيانات بنفسة:

اولا نقوم بعمل صفحة بلغة(html) لكى يستطيع المستخدم ادخال الداتا عن طريقها كالتالى:

<html>
<body>

<form action=”insert.php” method=”post”>
Id: <input type=”text” name=”id”>
Name: <input type=”text” name=”name”>
Type: <input type=”text” name=”type”>
<input type=”submit”>
</form>

</body>
</html>

ثانيا صفحة بلغة(php) باسم (insert) مسئولة عن عملية ادخال الداتا من المستخدم الى قاعدة البيانات كالتالى:

<?php
$con=mysqli_connect(“localhost”,””,””,”product”);

mysqli_query($con,”INSERT INTO table1 (id, name, type)
VALUES (‘$_POST[id]’, ‘$_POST[name]’, ‘$_POST[type]’)”);

mysqli_close($con);

?>

Advertisements

ضع تعليقك هنا

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: