آموزش ارتباط با بانک اطلاعاتی mysql در php

برقراری ارتباط با پایگاه داده و ثبت و خواندن اطلاعات از آن ، یکی از مباحث مهم و کاربردی در یادگیری php است به همین دلیل تصمیم گرفتم که این پست رو بنویسم و کوتاه و مختصر در این مورد توضیح بدم.

برای برقراری ارتباط با پایگاه داده در php از تابع زیر استفاده می کنیم

$con=mysql_connect("hostname","username","password");

در آرگومنت اول این تابع باید نام هاست خود را وارد کنید که معمولا localhost وارد می شود در آرگومنت دوم هم باید نام کاربری خود را که با استفاده از آن به دیتابیس خود وارد می شوید را قرار بدهید و در آخرین آرگومنت هم رمز تان را وارد کنید.
اگر بر روی کامپیوترشخصی خودتان کار می کنید به جای username مقدار root را وارد کنید و جای رمز عبور را خالی بگذارید.

حالا باید دیتابیسی که قصد استفاده از آن را دارید را انتخاب کنید برای این کار از تابع زیر استفاده می کنیم

mysql_select_db("dbname",$con);

که به جای dbname باید نام دیتابیس خودتان را وارد کنید،آرگومنت دوم این تابع هم نام متغیری است که تابع mysql_connect را به آن نسبت داده اید.

برای اجرای کوئری ها از تابع mysql_query استفاده می کنیم این تابع در آرگومنت اول خود دستور مربوط به کوئری ما رو دربافت می کند و در آرگومنت دوم که اختیاری است نام متغیری را می گیرد که تابع mysql_connect به آن نسبت داده شده است .

mysql_query("SELECT * FROM tbl_name",$con);

برای اینکه بتوانیم در پایگاه داده خود به صورت صحیح فارسی بنویسیم پس از برقراری ارتباط با پایگاه داده باید کوئری زیر را اجرا کنیم

mysql_query("SET CHARACTER SET utf8",$con);

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

پس از پایان کار با دیتابیس باید ارتباط خود با دیتابیس رو قطع کنیم که برای این کار از تابع mysql_close استفاده می کنیم ، این تابع نام متغیری که تابع mysql_connect رو به اون نسبت داده ایم رو به عنوان آرگومنت دریافت می کند.

mysql_close($con);

برای برقراری ارتباط با پایگاه داده از تابع mysql_pconncet هم می توان استفاده کرد تفاوت این تابع با mysql_connect این است که این تابع یک ارتباط پایدار و دائمی را با پایگاه داده برقرار می کند .

تابع دیگری که از نسخه ۴٫۱ و بالاتر mysql می توان برای برقراری ارتباط با پایگاه داده استفاده کرد، تابع mysqli_connect هست که نسبت به تابع mysql_connect دارای سرعت بالاتری هست و الگوی این تابع به صورت زیر هست

$con=mysqli_connect("hostname","username","password","dbname");

امیدوارم که این پست براتون مفید واقع شده باشه.


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


  1. آرش گقته :

    آره… دقیقا بانک اطلاعاتی خیلی مورد نیازه برای برنامه نویسی وب. منم خیلی بانک اطلاعاتی رو دوست دارم :) مرسی بابت توضیح

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

  2. علیرضا گقته :

    بسیار عالی :)

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

  3. مرتضی گقته :

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

    ۲۸ بهمن ۱۳۸۷ در ۷:۰۴ ب.ظ

  4. mostafa گقته :

    mer c

    ۶ اردیبهشت ۱۳۸۸ در ۱:۴۵ ب.ظ

  5. مریم گقته :

    می تونید حالت insert to data base هم یه کوچولو توضیح بدید.(یعنی کاربر با استفاده از فرمی که ما درست کردیم یه سری فیلد را پر کند بعد ما اطلاعات را در data base o,nl,k ffdkdl

    ۲۴ خرداد ۱۳۸۸ در ۸:۲۱ ق.ظ

  6. نرگس امیری گقته :

    این توابع و دستورات را در کجا باید بنویسیم اگه بگی کمک بزرگی میکنی

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

  7. پیام گقته :

    کدهای php رو باید توی یه فایل با پسوند php بنویسید

    ۱۵ مهر ۱۳۸۸ در ۳:۰۶ ق.ظ

  8. ابراهیم گقته :

    oot\ch10\connect.phpسلام دوست عزیز
    من php و mysql و iis نصب کردم کار هم می کنند ولی زمانی که کد ارتباط با mysql رو می نویسم و اجرا می کنم توی صفحه مرورگر این پیغام رو میده :

    Fatal error: Call to undefined function mysql_connect() in c:\Inetpub\wwwroot\ch10\connect.php on line 2
    PHP Warning: PHP Startup: Unable to load dynamic library ‘./php_mysql.dll’ – The specified module could not be found. in Unknown on line 0

    اگه ممکنه من رو راهنمایی کنید.
    در ضمن لازمه بگم تمام کد های php به درستی کار میکنند.

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

  9. mehdi گقته :

    آقا دمت گرم
    من شمارو نمیشناسم و شمارو تو گوگل سرچ کردم
    ولی این کامنتت خیلی بدرد من خورد

    ۱۳ دی ۱۳۸۸ در ۵:۳۷ ق.ظ

  10. hossein گقته :

    oot\ch10\createdatabase.phpمن php و mysql و iis نصب کردم کار هم می کنند ولی زمانی که کد ارتباط با mysql رو می نویسم و اجرا می کنم توی صفحه مرورگر این پیغام رو میده :

    Fatal error: Call to undefined function mysql_connect() in D:\Inetpub\wwwroot\ch10\createdatabase.php on line 2

    ۲۰ دی ۱۳۸۸ در ۷:۵۰ ق.ظ

  11. حمید گقته :

    عالی بود

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

  12. مسعود گقته :

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

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

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

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

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

  14. مبتدی گقته :

    سلام
    آقا دستت درد نکهنه
    خیلی خوب توضیح دادی.

    کاش ادامه می دادی.
    بازم مرسی

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

  15. بهمن گقته :

    سلام
    توضیحت خوب هرچند که ۹۰درصدشان را میدونستم
    ولی نمیدونم چرا جدیدا وقتی PHP و mysql رو روی سیستمی نصب میکنم و میخوام یک صفحه که با انک اطلاعاتی ارتباط برقرار کنه را لود کنم با پیغام عدم تعریف تابع mysql_connect مواجه میشم.
    نمیدونم راه حلش چیه؟
    لطفا اگه میدونی بهم کمک کن چون کارم خیلی گیره
    ممنون

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

  16. پیام گقته :

    سلام
    مشکل شما به این خاطره که extension مربوط به Mysql غیر فعاله ، برای فعال کردنش تو فایل php.ini دنبال php_mysql.dll بگرد و علامت ; رو از اول خط بردار و وب سرورت رو restart کن .

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

  17. بهمن گقته :

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

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

  18. محسن گقته :

    oot\ch13\db_fns.phpبا سلام
    در سیستم من php نمیتونه با mysql ارتباط برقرار کنه
    یعنی وقتی اجرا میشه این خطا رو میده

    Fatal error: Call to undefined function mysql_connect() in C:\Inetpub\wwwroot\ch13\db_fns.php on line 4
    که خط ۴ توی php این هستش:

    $result = mysql_connect(“localhost”, “root”, ” “);

    ۱۹ مهر ۱۳۸۹ در ۱۱:۰۰ ق.ظ

  19. پیام گقته :

    مشکل همون فعال نبودن extension مربوط به mysql هست ، برای اجرا کردن کدهاتون از برنامه هایی مثله Wamp یا Xampp استفاده کنید تا با چنین مشکلاتی برخورد نکنید ، این برنامه ها تنظیمات ابتدایی و مورد نیاز شما رو خودشون انجام میدن .

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

  20. محمد گقته :

    بسیار عالی بود

    ۱۰ اردیبهشت ۱۳۹۰ در ۱۰:۱۱ ق.ظ

  21. معصومه گقته :

    خیلی خوب بود واقعا ممنونم
    قد زیبایی تبریز بزرگ دوستت رادم

    ۸ شهریور ۱۳۹۱ در ۱۰:۳۲ ق.ظ

  22. سنا گقته :

    سلام
    سایتت خوبه!

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

  23. مجید گقته :

    خیلی عالی بود. تشکر از زحمات شما.

    ۱۱ فروردین ۱۳۹۲ در ۱۱:۱۲ ق.ظ

  24. حسن گقته :

    ممنون
    منم مشکل ارتباط با mysql رو دارم

    ۱۰ اردیبهشت ۱۳۹۲ در ۱:۳۷ ق.ظ

  25. ps313 گقته :

    دوستانی که مشکل آقا حسین رو دارن کافیه فایل libmysql.dll رو در پوشه windows>system کپی کنند.

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

  26. دسخط گقته :

    سلام،
    خیلی مفید و مختصر بود. امیدوارم که همیشه موفق باشید.

    ۱۶ تیر ۱۳۹۲ در ۱۰:۲۸ ق.ظ

  27. farvlz گقته :

    سلام متشکرم خیلی مفید بود خدا خیرت دهد.

    ۲۸ دی ۱۳۹۲ در ۱۲:۰۳ ق.ظ

  28. محسن php گقته :

    مطلبتون خیلی عالی بود ولی کاش دستورات بیشتری رو توضیح می دادید

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