خواندن اطلاعات از پایگاه داده mysql با php

توی پست ” آموزش ارتباط با پایگاه داده mysql در php ” نحوه برقراری ارتباط با پایگاه داده mysql و اجرای دستورات sql رو توضیح دادم ، توصیه می کنم که ابتدا به این پست یک نگاه بندازید.

در این آموزش فرض رو بر این بگیرید که یک پایگاه داده با نام test داریم که دارای یک جدول با نام mytable هست و این جدول ۳ فیلد با نام های name ، id و email دارد.
برای خواندن اطلاعات از پایگاه داده ابتدا شما باید یک دستور sql بنویسید ، در زبان sql برای خواندن اطلاعات از پایگاه داده از دستور select استفاده می شود.

; شرط WHERE نام جدول FROM نام فیلدهای مورد نظر SELECT

بعد از دستور select باید نام فیلدهایی که می خواهید انتخاب کنید رو بنویسید و اگر قصد انتخاب همه فیلدها رو دارید می تونید از کاراکتر * استفاده کنید .
همچنین برای انتخاب اطلاعات یک قسمت از جدول باید از دستور where استفاده کنید و بعد از آن شرط مورد نظرتون رو بنویسید .

SELECT * FROM mytable WHERE id >10;
SELECT name,email FROM mytable;

ابتدا با پایگاه داده ارتباط برقرار می کنیم و سپسس دیتابیس خودمون رو انتخاب می کنیم .

$con=mysql_connect('localhost','root',' ');
mysql_select_db('test',$con);

سپس در داخل متغیر query کوئری خود رو مینویسیم و با استفاده از mysql_query آن را اجرا می کنیم.

$query="SELECT * FROM mytable";
$select=mysql_query($query);

حالا باید از حلقه ها برای خواندن اطلاعات به همراه یکی از دستورات زیر استفاده کنیم.

mysql_fetch_row : این تابع اطلاعات انتخاب شده رو به صورت یک آرایه عددی بر می گرداند.
mysql_fetch_assoc : این تابع اطلاعات انتخاب شده رو به صورت یک آرایه انجمنی بر می گرداند.
mysql_fetch_array : آرایه ای را بر می گرداند که هم به صورت انجمنی است و هم عددی .
mysql_fetch_object : این تابع هم اطلاعات انتخاب شده رو به صورت یک شی بر می گرداند .

هر چهار تابع بالا نتیجه کوئری اجرا شده( متغیر select ) رو به عنوان پارامتر دریافت می کنند.

while($row=mysql_fetch_array($select)){
echo $row['id'].' - '.$row['name'].' - '.$row['email'].'<br>';
}

در این جا از یک حلقه while استفاده کردیم و این حلقه تا زمانی که متغیر row دارای مقدار باشد اجرا می شود.
اگر از تابع mysql_fetch_object استفاده کنید برای دسترسی به اطلاعات باید به شکل زیر عمل نمایید

while($row=mysql_fetch_object($select)){
echo $row->id.' - '.$row->name.' - '.$row->email.'<br>';
}

در آخر هم ارتباط ایجاد شده با پایگاه داده را قطع می کنیم.

mysql_close($con);

کد کامل :

$con=mysql_connect('localhost','root',' ');
mysql_select_db('test',$con);
$query="SELECT * FROM mytable";
$select=mysql_query($query);
while($row=mysql_fetch_array($select)){
echo $row['id'].' - '.$row['name'].' - '.$row['email'].'<br>';
}
mysql_close($con);

تا كنون ۲۵ نظر برای اين پست ثبت شده است


  1. ashkan گقته :

    با سلام خدمت استاد گرامی !
    من ۲۰ روزه دارم بکوب در مورد php و mysql تحقیق میکنم تاشاید با یاد گرفتن اونها بتونم سایتمو خودم بسازم ولی با اینکه زبان php را یاد گرفتم اما هرکاری میکنم نمی توانم یک فرم ثبت نام بسازم !!یعنی مشکل اصلی من تو mysql هستش !! یعنی نمودنم که وقتی در phpmyadmin تیبل و دیتا بیس رو طراحی کردیم و save کردیم کار تموم میشه ؟؟ پس این فایل .sql چی هست ؟؟

    ۲۱ تیر ۱۳۸۸ در ۳:۳۳ ب.ظ

  2. پیام گقته :

    سلام دوست عزیز
    شما باید اول یک دیتابیس داخل phpmyadmin بسازید بعد داخل دیتابیستون یک جدول برای کاربرها بسازید که یوزر و پسوردش و بقیه اطلاعاتش رو داخل اون ذخیره کنید . وقتی اطلاعات کاربر رو ذخیره کردی از طریق php به mysql وصل میشی و بعد اطلاعاتی که نیاز داری رو می خونی .
    برای اجرای پی اچ پی و mysql از wamp استفاده کن که راحت تره .

    یا علی
    موفق باشید

    ۲۱ تیر ۱۳۸۸ در ۴:۴۶ ب.ظ

  3. میلاد گقته :

    سلام
    تشکر از زحمتتون. لطفا درباره ی نوشتن و سیو کردن روی mysql توضیح بدین. خوندن که آسونه.

    ۲۱ مهر ۱۳۸۸ در ۵:۰۰ ب.ظ

  4. افشین گقته :

    سلام
    واقعا عالی بود
    به من خیلی کمک کرد
    مرسی

    ۳ دی ۱۳۸۸ در ۵:۰۴ ب.ظ

  5. بهزاد گقته :

    سلام
    این موضوع هم خیلی جالب بود .
    واقعا خسته نباشی.

    ۱۸ اسفند ۱۳۸۸ در ۲:۲۴ ب.ظ

  6. ACP گقته :

    سلام.
    خوب بود.توپ توپ.
    ولی بهتره یکم هم درباره ی نوشتن توضیح بدی!
    به هر حال… دستت درد نکنه…

    ۲ اسفند ۱۳۸۹ در ۵:۴۰ ب.ظ

  7. نسرین گقته :

    سلام خسته نباشی من تازه سایت شما رو دیدم واقعاً توضیحاتتون کامل و جامع و واقعاً عالیه برات آرزوی موفقیت دارم

    ۲۸ مهر ۱۳۹۰ در ۶:۳۳ ب.ظ

  8. ارزو گقته :

    عالی بود لطفا در مورد نحوه ی برنامه پی اج پی با اپاچی هم توضیح بدید مرسی

    ۸ آذر ۱۳۹۰ در ۱۲:۰۴ ب.ظ

  9. اعظم گقته :

    خیلی خیلی عالی بود

    ۳۱ مرداد ۱۳۹۱ در ۱۱:۴۴ ق.ظ

  10. حمید گقته :

    سلام .
    بسیار عالی بود .
    بعد از چند روز کار کردن این متن باعث شد کارم درست شد .
    دعات می کنم.

    ۱۴ شهریور ۱۳۹۱ در ۷:۴۶ ب.ظ

  11. صابر گقته :

    دمتون گرم
    خدا خیرتون بده

    ۸ مهر ۱۳۹۱ در ۶:۴۶ ب.ظ

  12. سحر گقته :

    سلام.
    بسیار عالی بود.
    یه سوال داشتم!
    از این روش میشه برای ارتباط با دیتابیس راه دور هم استفاده کرد؟ من می خوام از راه دور به یه دیتابیس وصل بشم، البته بدون استفاده از وب سرویس. بعد از چندین روز جست و جو رسیدم به اینکه از php استفاده کنم اما همه مثال هایی که دیدم دیتابیسشون local بود. خوشحال میشم راهنماییم کنید. ممنون

    ۲۵ آبان ۱۳۹۱ در ۵:۴۶ ب.ظ

  13. سعید گقته :

    آقا از آموزش ممنون

    فقط اینو بگید چطوری میتونیم اینو توی فرم جلوی اسم های نمایش بدیم

    ۳۰ آبان ۱۳۹۱ در ۱۱:۲۰ ق.ظ

  14. sahar گقته :

    سلام یک سوال دارم ؟حیاتیه
    یک فرم عضویت دارم که اطلاعات نام و نام خانوادگی تو یک جدول ثبت بشه و نام کاربری و رمز و کد عضویت تو یک جدول دیگه .که این کد عویت رو از جدول قبلی که نام و نام خانوادگی را ثبت کرده باید بگیره ؟کمکم کنید پروژه م رو باید تحویل بدم

    ۱۰ تیر ۱۳۹۲ در ۱۲:۳۴ ب.ظ

  15. پیام گقته :

    سلام
    جدول هایی که گفتید رو با هم join کنید تا به تمامی اطلاعات کاربر هاتون دسترسی داشته باشید .
    مثال :

    select * from users inner join profiles on users.id=profiles.id where users.username=’user1′ and users.password=’xxx’

    ۱۰ تیر ۱۳۹۲ در ۷:۵۴ ب.ظ

  16. povoking گقته :

    سلام.
    بسیار عالی بود.
    آقا از آموزش ممنون

    ۱۴ مرداد ۱۳۹۲ در ۱:۳۲ ب.ظ

  17. ستاره گقته :

    سلام. عالی بود. اگه ممکنه برای یک رستوران هم مثال بزنید من واسه امتحان پایان ترم میخوام. متشکرم.

    ۱۱ بهمن ۱۳۹۲ در ۱۰:۳۰ ب.ظ

  18. fateme گقته :

    salam
    vaghti ba in kod az mysql mikhoonam hame matn ha poshte sare ham mian
    mikham zire ham bian
    man mikham ye site ashpazi dorost konam masalan vaghti mavade lazem ro dar data base minevisam vaghte khandan hame poshte sare ham mian o enter az data base khoonde nemishan
    chikar konam?
    age baratoon momkene javabam ro be emailam beferestid
    mamnoon

    ۲۰ تیر ۱۳۹۳ در ۹:۵۲ ب.ظ

  19. ساحل گقته :

    سلام
    واقعا دستتون درد نکنه، من چیزی بلد نبودم. مطالب سایتتون کمک بزرگی به من کرد.
    همیشه موفق باشید.

    ۲۵ تیر ۱۳۹۳ در ۵:۴۵ ب.ظ

  20. زهرا گقته :

    سلام
    مطالبتون خیلی خوب بود
    یه سوال؟
    آیا در پی اچ پی میشه بجای استفاده از پایگاه داده ی mysql که مال خود wampو xamp هستش از پایگاه داده ی sqlserver استفاده کنم؟

    ۲۹ مرداد ۱۳۹۳ در ۵:۳۵ ب.ظ

  21. shahab گقته :

    دست خوش

    ۲۲ شهریور ۱۳۹۳ در ۱۱:۴۰ ب.ظ

  22. مطهره گقته :

    سلام و واقعا خسته نباشید
    ایشالاه خیر از دنیاتون ببینین سایتتون خیلی کمکم کرد ایشالاه هر چی از خدا میخواین بهتون بده..

    ۵ مهر ۱۳۹۳ در ۵:۵۸ ب.ظ

  23. سینا گقته :

    سلام از مطالب مفید شما بی نهایت ممنونم.
    من مشکلی دارم که نمی تونم اطلاعات پایگاه داده رو در جای که دوست دارم نمایش بدم لطفا کمکم کنید

    ۵ خرداد ۱۳۹۴ در ۵:۵۲ ب.ظ

  24. soureh گقته :

    سلام
    وقتی اطلاعات فارسی رو تو صفحه وب نشون میده بجای کاراکترا علامت سوال میذاره چیکار کنم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

    ۶ شهریور ۱۳۹۴ در ۷:۱۱ ب.ظ

  25. shahriyar گقته :

    درود بر شما

    عالی بود

    سپاس گزارم

    ۲۵ دی ۱۳۹۵ در ۱۲:۱۸ ب.ظ