آموزش پی اچ پی -> آموزش پی اچ پی ، قسمت چهارم  
آموزش پی اچ پی -> آموزش پی اچ پی ، قسمت چهارم
نویسنده : مهرداد دیزاین | تاریخ ارسال : چهارشنبه 09 / 10 / 1388 | 14 : 13 | تعداد بازدید : 615

سلام دوستان
امروز آموزش ارتباط با ديتابيس MySql رو آموزش ميدم.

اصلا ديتابيس چيه ؟
ديتابيس يه جايي هست كه داده هامون رو اونجا ذخيره مي كنيم داده هايي مثل نام كاربران، كلمه عبور آنها ، ايميل آنها و ... مثل همين جا كه تمامي تاپيك ها و پست ها رو توي ديتا بيس نگهداري مي كنه.

براي اين كه داده ها سازماندهي بهتري داشته باشند خود ديتابيس هم به قسمت هايي تقسيم مي شه كه به اونا جدول (Table) ميگيم. براي درك بهتر ميتونيد ديتا بيس رو يه فولدر در نظر بگيريد و Table ها رو فايل هاي درون آن البته خود Table تقسيم بندي هاي خاص خودش رو داره.

هر Table از يك سري فيلد (ستون) و ركورد (سطر) تشكيل شده است مثلا Table دانشجويان از فيلد هاي شماره دانشجويي،نام،نام خانوادگي،سال ورود،رشته،مقطع و ... تشكيل شده كه به هر كدام از اين مشخصات يه فيلد مي گيم.
خوب حالا فرض كنيد يه سري داده توي اين جدول وارد كرديم مثلا مشخصات دانشجوياني با مشخصات زير :

834421 ، مجتبي ، 83 ، كامپيوتر ، كارشناسي
842135 ، حسن ، 84 ، زراعت ، كارسناسي
820012 ، حسين ، 82 ، فيزيك ، كارشناسي
.
.
.

خوب به هر كدام از سري اين مشخصات ( هر سطر) يه ركورد مي گوييم. در ادامه مبحث بيشتر آشنا مي شويد.

براي كار با ديتابيس MySql بايد از يه سري دستورات استفاده كنيم كه به Query معروفند و با زبان SQL نوشته مي شوند ياد گيري SQL خيلي راحته و بسيار سريع اون رو ياد ميگيريد.

اما يه برنامه بسيار قدرتمند (تحت وب) براي مديريت MySql نوشته شده كه به PhpMyAdmin معروفه.
خوب برنامه PhpMyAdmin رو باز كنيد . (راهنمايي : اگه از Easy PHP استتفاده مي كنيد به آدرس زير توي مرورگرتون برويد :
 


خوب در سمت چپ يه ليست كشويي هيت كه ديتابيس هاي شما رو نشون ميده . و توي قسمت سمت راست يه قسمت هست با عنوان Create new database كه ميتونيد ديتابيس جديد ايجاد كنيد . مثلا نام : MyDB رو وارد كنيد و روي Create كليك كنيد . خوب وارد يه صفحه ديگه مي شويم كه يه پيغام ميده كه ديتابيس شما ساخته شد . و در قسمت زيرين اون يه قسمت هست كه نوشته :
 

SQL query:
CREATE DATABASE `MyDB` ;



اينجا برنامه PhpMyAdmin اون Query كه اجرا كرده تا عمليات درخواستي ما ( در اينجا ساختن ديتابيس) رو انجام بده رو مينويسه و اين به ياد گيري ما كمك ميكنه.

خوب در قسمت Create new table on database MyDB نام Table ي كه ميخواهيم بسازيم رو وارد ميكنيم مثلا : users
و در قسمت Number of fields اون تعداد فيلد هايي كه براي جدول نياز هست رو مينويسيم مثلا 2 (منظور username,password) هست .

در صفحه بعد بسته به اون عددي كه توي مرحله قبل وارد كرده ايد از شما نام فيلد و نوع آن و ديگر مشخصات را ميخواهد . حالا يكي يكي توضيح ميدم.

Field : در اين قسمت اسم فيلد را مينويسيد مثلا username

Type : در اين قسمت نوع فيلد را مشخص ميكنيد مثلا كاراكتري ، رشته ، عدد صحيح ، عدد اعشاري و ... براي نام كاربري شما از همون VARCHAR (رشته حد اكثر 255 كاراكتري) استفاده كنيد.

Length/Values* : در اين قسمت براي نوع هايي كه نياز به طول دارند طول فيلد را ميدهيم مثلا VARCHAR نياز دارد كه حتما طول آن را بنويسيم شما بايد با توجه به مورد استفاده خود طولي رو در نظر بگيريد كه نه كم بياد و نه زياد باشه. مثلا براي نام كاربري (در اين مثال) 20 عدد خوبيه.

Attributes : يه سري خاصيت هاي مربوط به فيلد است كه اكثر موارد استفاده نمي شود . شما هم آن را تغيير ندين.

Null : مشخص مي كند كه اين فيلد ميتونه خالي باشه يا نه .(توي برنامه نويسي توضيح بيشتر ميدم)

Default** : مقدار پيشفرض فيلد شما است.

Extra : در اين قسمت يه سري امكانات اضافي براي فيلد وجود داره كه من تا حالا بيشتر از يكي نديدم و همون هم توضيح مي دم . اسم اون هست auto_increment اگر اين امكان رو به فيلدي بدهيد (بايد نوع آن INT باشه) اون فيلد با اضافه كردن هر ركورد اين فيلد رو يكي اضافه ميكنه (از 1 شروع مي كنه).

Primary : اين قسمت نوشته نشده فقط يه عكس كشيده كه با رفتن ماوس روي اون اين متن رو نشون ميده . اگه اين قسمت رو براي يه فيلد علامت بزنيد اون فيلد به اصلاح كليد اصلي جدول ميشه و معمولا براي فيلد هايي كه نبايد تكراري باشه استفاده مي شه مثل فيلد شماره دانشجويي كه نبايد دو دانشجو يه شماره داشته باشند.

براي قسمت هاي ديگه مثل Index , Unique بعد توضيح ميدم.

خوب فيلد بعدي كه password هست رو هم طبق راهنمايي هاي بالا درست ميكنيم. بعد بر روي دكمه Save كليك ميكنيم.
جدول ما ساخته ميشه بايد Query شما يه چيزي توي اين مايه ها باشه .

 

SQL query:
CREATE TABLE `users` (
`username` VARCHAR( 20 ) NOT NULL ,
`password` VARCHAR( 32 ) NOT NULL ,
PRIMARY KEY ( `username` )
) TYPE = MYISAM ;



خوب حالا اون بالا بر روي Insert كليك كنيد و يه username , password بنويسيد و بر روي Go كليك كنيد.

PhpMyAdmin امكانات زيادي داره كه با كاركردن همه اونا رو ياد مي گيريد. اما ما نمي خواهيم اين طوري با ديتا بيس كار كنيم ، ما مي خواهيم اين كارها رو با برنامه نويسي انجام بديم. مثلا يه فرم قشنگ داشته باشيم و اطلاعات رو از كاربر بگيريم و اونا رو توي جدول وارد كنيم يا يه جستجو توي جدول انجام بديم.

براي اين كه توي php با MySql كار كنيم يه سري مراحل داره كه بايد اونا رو به ترتيب انجام بديم .

1- اتصال به هاست : منظور از هاست اون كامپيوتري هست كه MySql روي اون نصبه و همه داده ها اونجا ذخيره ميشن. توي برنامه هايي كه ما مي نويسيم معمولا همون localhost است . براي اتصال به هاست نياز به يه username , password داريم . با استفاده از دستور زير به هاست متصل مي شويم.

 

mysql_connect( HostName , HostUserName , HostPassword);



اگه روي كامپيوتر خودتون داريد كار مي كنيد براي مثال از اين دستور اين طوري استفاده كنيد :
 

$myconn = mysql_connect( "localhost" , "root" , "");
if($myconn)
   print ("Connection Sucsessful!");
else
   print("Connection Failed!");



البته myconn يه متغيره كه من دوست داشتم اسمش اين باشه شما هر چي دوشت داشتيد بگذاريد.

خوب حالا كه به هاست كانكت شديم بايد ديتا بيسمون رو انتخاب كنيم . با دستور زير

 

mysql_select_db(MySqlDataBaseName,ConnectionID);


براي مثال خورمون اين طوري مي شه :

 

mysql_select_db("MyDB",$myconn);



خوب حالا ديتا بيس خودمون رو هم انتخاب كرديم حال هر كاري كه خواستيم انجام بدهيم بايد براش Query بنويسيم همون چيزايي كه توي PhpMyAdmin هم بهمون نشون مي داد.

*اجراي يك Query :
دستور اجراي يك Query اينه :
 

mysql_query(QueryString , ConnectionID);



مثال :
 

mysql_query("SELECT * FROM users" , $myconn);



براي اين كه يه نتيجه از كار امروز رو ديده باشيد. كد زير رو اجرا كنيد :

 

<?
$myconn = mysql_connect( "localhost" , "root" , "");
if($myconn)
   print ("Connection Sucsessful!<br><br>");
else
   die("<font color=#ff0000>Connection Failed!</font><br><br>");

mysql_select_db("MyDB",$myconn);
$result = mysql_query("SELECT * FROM users" , $myconn);

for($i = 0 ; $i != mysql_num_rows($result) ; $i++)
{
   print(@mysql_result($result,$i,0)." ".@mysql_result($result,$i,1)."<br><br>");

}

?>



توي جلسه بعد كلا در باره SQL نويسي بحث خواهيم كرد.
موفق باشيد.

 


کلمات کلیدی : آموزش پی اچ پی