کار با دیتابیس اکسس در PHP

  • آپدیت شده در تاریخ

کار با دیتابیس اکسس در PHP

کار با دیتابیس اکسس در PHP با استفاده از PDO بسیار آسان است . یکی از کلاینت های قبلی من یک دیتابیس Access از محصولاتی که بفروش می رساندند داشت , که از آن بصورت آفلاین استفاده می کرد . اما استفاده از آن بسیار محدود بود چرا که برای هر بار استفاده باید آن را در یک کامپیوتر دیگر قرار داده و استفاده می کردند .

راه حل این مشکل چی بود ؟ بله . قرار دادن آن به صورت آنلاین .

در این آموزش قصد داریم موارد پایه برای کار با دیتابیس اکسس در PHP را به شما نشان بدیم . یکی از استاندارد ها برای کار با دیتابیس Microsoft Access نصب و فعال بودن درایور ODBC بر روی سرور شما است .

اتصال به دیتابیس MSAccess

قبل از خواندن یا نوشتن اطلاعات یک دیتابیس , باید یک کانکشن برای اتصال به آن ایجاد کنید . برای همین باید مسیر کامل (absolute) فایل دیتابیس (.mdb) را مشخص کنید . برای این کار از آرایه سوپر گلوبال $_SERVER[‘DOCUMENT_ROOT’] استفاده می کنیم .

کد PHP مورد نیاز برای اتصال به دیتابیس اکسس بصورت زیر است :

یک کانکشن موفقیت آمیز به شما اجازه اجرای دستورات SQL در PHP برای خواندن یا نوشتن در دیتابیس را می دهد . اگر با خطایی مواجه شدید ” PDOException Could not find driver ” پس مطمین باشید درایور PDO ODBC نصب یا فعال نیست .

با استفاده از phpinfo() باید بررسی کنید. برای فعال کردن درایور PDO ODBC فایل php.ini را باز کرده و خط

را uncomment کنید (;  را حذف کنید). بعد از آن وب سرور را ریستارت و دوباره برای اتصال به دیتابیس اکسس در PHP تلاش کنید.

اگر درایور مورد نظر نصب شده باشد . خروجی phpinfo() به شامل موارد زیر خواهد بود

کار با دیتابیس اکسس در PHP

دستورات SQL

چهار دستور پایه برای کاربر با دیتابیس استفاده می شود که در MS Access نیز از آن بهره می بریم . این عملیات چهارگانه را CRUD می نامیم . SELECT , UPDATE , INSERT و DELETE .

بنابراین مثال های SQL زیر برای شما که قبلا با این دستورات کار کردید بسیار ساده و قابل فهم خواهد بود .

نمایش سطرها (SELECT)

فرض کنید قصد دریافت قیمت یک محصول خاصی را دارید . این عملیات به راحتی با ID محصول و خواندن یک فیلد از جدول product بسیار ساده خواهد بود .

بعد از انتخاب یک دسته بندی از لیست , می توانید از آی دی category برای نمایش محصولات دسته خاص را نمایش بدید .

نکته : دقت کنید حتما ورودی های کاربر را فیلتر و پاکسازی (sanitize) کنید تا مشکلات امنیتی مربوط به دیتابیس که SQL Injection نام دارد , رخ ندهد . در مقاله آموزش اعتبار سنجی فرم ها در php کامل موارد امنیتی ورودی های کاربر را توضیح دادیم

بروزرسانی‌ (UPDATE)

با استفاده از اطلاعات ارسال شده از یک فرم HTML , می توانید مقدار خاصی را تغییر یا بروزرسانی کنید

افزودن سطر جدید (INSERT)

می توانید یک محصول جدید را با استفاده از اطلاعاتی که از یک فرم HTML ارسال می شود , به جدول product اضافه کنید

حذف سطر ها (DELETE)

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

جمع بندی

در مثال های بالا موارد پایه ای و مورد نیاز برای اتصال و کار با دیتابیس اکسس در PHP را دیدیم . امیدوارم مثال و توضیحات بالا برای کار با دیتابیس MSAccess به شما کمک بسیاری کرده باشد . برای راحتی کار شما من یک دیتابیس msaccess همراه با فایل php اتصال به آن قرار دادم که به عنوان تمرین میتوانید از آن بر روی لوکال هاست خود استفاده کنید

برای دانلود سورس کد دیتابیس MSAccess + کد php اتصال به دیتابیس از باکس دانلود استفاده کنید

هرگونه مشکلی در پیاده سازی کدها داشتید ، از قسمت نظرات اقدام کنید . سریعا ، پاسخگوی سوالات شما هستیم .

موفق و پیروز باشید

حسن شفیعی توسعه دهنده وب و موبایل مدیر سایت علاقه خاصی به برنامه نویسی وب و موبایل دارم و هر روز تلاش می کنم به این حوزه مسلط تر شوم و اطلاعاتم را به شکل کاربردی برای علاقه مندان در وب به اشتراک بگذارم. اگر نیاز به برنامه نویس برای انجام پروژه و نوشتن اسکریپت های سمت وب, اپلیکیشن های اندروید و ios, پیدا کردن راه حل توسعه و غیره داشتید حتما از طریق تماس با ما/ واتساپ/ تلگرام بهم پیام بدید. برایتهیه هاست مطمین و پرسرعت کلیک کنید
مطالب زیر را حتما بخوانید
دیدگاه کاربران (۱۰)

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

  1. مجید ۱۴ آبان ۱۳۹۹

    سلام وقت بخیر ببخشید میشه با زبان html متصل کرد ؟

    پاسخ
    1. حسن شفیعی ۱۴ آبان ۱۳۹۹

      سلام. ممنون.
      خیر html یک زبان برنامه نویسی نیست و نمیشه با html این کار را انجام داد
      موفق باشید.

      پاسخ
  2. جلال ۸ خرداد ۱۳۹۸

    سلام جناب
    می شه راهنمایی کنید بنده رو. می خواهم در پی اچ پی برای جستجو در دیتابیس انلاین کد جستجو بنویسم با این توضیح که در یک کلیک دو بار جستجو انجام بشه. مثلا ابتدا یک کلمه ای که وارد شده رو جستجو کنه به در ادامه هر کلمه ای که شبیه این کلمه وارد شده است رو جستجو کنه. تکرار کنم که در یک جستجو هر دو رو بیاره. من می دونم که علامت درصد % برای اینکاره. اما نمی تونم کدنویسی کنم که در یک پی اچ پی دوتا جستجو پشت سر هم انجام بشه. شرمنده می کنید کمکم کنید.

    پاسخ
    1. حسن شفیعی ۸ خرداد ۱۳۹۸

      سلام. به هیچ وجه نظرات ثبت شده با ایمیل های اسپم تایید یا پاسخ داده نمی شوند به هر حال یا از سشن یا لاگ گیری در دیتابیس یا جوین زدن چند where در کویری sql استفاده کنید.
      موفق باشید.

      پاسخ
  3. مهدی عابدینی ۱۶ دی ۱۳۹۷

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

    پاسخ
    1. حسن شفیعی ۱۶ دی ۱۳۹۷

      سلام. در کانکشن خود مقدار utf-8 را ست کنید
      array(PDO::MYSQL_ATTR_INIT_COMMAND => “SET NAMES utf8”)
      و یا راه دیگه, زدن کویری SET NAME utf-8 در هر بار اجرای کویری است.

      موفق باشید.

      پاسخ
  4. رضا ۷ شهریور ۱۳۹۷

    سلام کلمات فارسی رو برای من با علامت ؟ نشون میده چکار باید بکنم

    پاسخ
    1. حسن شفیعی ۱۲ شهریور ۱۳۹۷

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

      پاسخ
  5. محمد ۳۱ خرداد ۱۳۹۷

    سلام تشکر از مطلب مفید شما
    سوالی خدمت شما دارم اینکه در ورد پرس چطور از این امکان استفاده کنیم ؟ و اینکه آیا میشه فرمی درست کرد که اطلاعات مستقیما در تیبل اکسس ذخیره شوند .
    تشکر از شما

    پاسخ
    1. حسن شفیعی ۳۱ خرداد ۱۳۹۷

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

      پاسخ
دوره های آموزشی