PHP قابلیت ارتباط با انواع مختلف بانک های اطلاعاتی را دارد، با این حال استفاده از بانک اطلاعاتی MySQL در PHP خیلی معمول است زیرا هر دو رایگان هستند و می توانند در سیستم های مختلف از جمله لینوکس اجرا شوند. در این جا بانک اطلاعاتی MySQL را مورد استفاده قرار داده و روش اتصال به بانک اطلاعاتی و اجرای عملیات روی بانک اطلاعاتی را بررسی می کنیم.
مروری بر دستورات کلیدی SQL
برای اجرای عملیات مختلف باید دستورSQL مناسب را به سرویس دهنده داده ارسال کنیم تا اجرا شوند. دستوراتی که در این درس به آنها نیاز داریم عبارتند از :
SELECT– بازیابی اطلاعات از یک یا چند جدول
INSERT– درج سطر جدید
DELETE– حذف سطرها
UPDATE– بروزآوری (اصلاح) سطرها
در ادامه به معرفی اجمالی این دستورات می پردازیم:
جدول زیر را درنظر بگیرید:
tbl_fields
title |
fid |
Computer |
1 |
tbl_studs
Fid |
Avgr |
name |
sid |
1 |
17 |
Ali |
100 |
دستور SELECT
شکل کلی :
بازیابی کل سطرها وستون های جدول studs
بازیابی شماره دانشجویی و نام همه دانشجویان
بازیابی دانشجویانی که کد رشته آنها مساوی1 است.
Select * from tbl_studs where fid=1
دستور INSERT
Insert into tablename( column1, column2,… )Values ( value1,value2,… );
مقادیر از نظر تعداد و نوع داده باید متناظر با ستونها باشند.اگر قصد مقداردهی تمام ستون های جدول را داریم لازم نیست نام ستونها ذکر شود و لازم است مقادیر به ترتیبی که ستونهای جدول هستند نوشته شوند.
با فرض اینکه sid ازنوع Auto-Increment (خود افزایشی)است. می توان برای آن مقدار صفر برای آن تعیین کرده، یا مقدار آنرا ذکر نکنیم:
Insert into tbl_studs values( 0 , ‘ali’ , 17 , 1 );Insert into tbl_studs( name , avgr ,fid ) values( ‘reza’ , 17 , 1 ) ;
دستورDELETE
برای حذف یک یا چند سطر از جدول استفاده می شود:
مثال:حذف دانشجویی با شماره ی دانشجویی 10
حذف دانشجویان با معدل کمتر از 10
دستور UPDATE
این دستور برای بروز رسانی یک یا چند سطر از جدول، بصورت زیر اجرا می شود:
UPDATE نام جدول SET ستون1 = مقدار1 , ستون 2 = مقدار 2 , ….WHERE عبارت شرطی
اصلاح مشخصات دانشجویی با شماره ی دانشجویی 100
به معدل دانشجویان رشته2 ، یک نمره اضافه کند
نحوه اجرای دستورات SQL در PHP
برای دسترسی به بانک اطلاعاتی و اجرای دستور بصورت زیر عملی می کنیم :
- یک اتصال به سرویس دهنده بانک اطلاعاتی ایجاد کرده
- بانک اطلاعاتی مورد نظر را انتخاب می کنیم.
- دستور SQL مورد نظر را روی بانک اجرا میکنیم.
- اگر دستور select اجرا شده، نتایج بدست آمده را از آن استخراج میکنیم.
- اتصال به سرویس دهنده بانک اطلاعاتی را میبندیم.
ایجاد اتصال به سرویس دهنده بانک اطلاعاتی
پارامتر |
کاربرد |
Servername |
اختیاری است نام سرویس دهنده بانک اطلاعاتی است و پیشفرض آن “localhost:3306” است |
Username |
اختیاری است، نام کاربر بانک اطلاعاتی است و بطور پیش فرض نام کاربرجاری استفاده کننده از سرور است |
Password |
اختیاری است، کلمه عبور کاربر است، پیش فرض آن “” است . |
هنگام نصب MySQL بطور پیش فرض یک کاربر بنام root و بدون کلمه عبور برای آن تعریف می شود.
مثال : اتصال به بانک اطلاعاتی amoozesh روی سرویس دهنده بانک اطلاعاتی localhost با نام کاربری root بدون کلمه عبور
در صورتی که این دستور درست اجرا نشود مقدار صفر را برمی گرداند.
2- انتخاب یانک اطلاعاتی
3-اجرای دستور SQL
برای اجرای دستورات اس کیو ال روی بانک اطلاعاتی از دستور زیر استفاده می شود:
مثال : بازیابی تمام سطرهای جدول studs
4-استخراج نتایج پرس وجو
چنانچه دستور اجرا شده روی بانک اطلاعاتی SELECT باشد، نتیجه ان تعدادی سطر و ستون خواهد بود که برای بدست آوردن اطلاعات یک سطر دستور زیر اجرا می شود:
دستور فوق یک سطر از نتیجه را استخراج کرده در آرایه انجمنی $row قرار داده و نشانگر سطرجاری را به بعدی منتقل می نماید. چنانچه دوباره این دستور اجرا شود ، سطر بعدی استخراج خواهد شد. برای استخراج همه سطرها، دستور فوق را داخل حلقه تکرار قرار می دهیم.
5- بستن یک اتصال
هنگام پایان یافتن اجرای اسکریپت بصورت خودکار، اتصال بسته خواهد شد.