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

آذر ۶, ۱۳۹۲ توسط : سعید

سلام

بعد از یه غیبت طولانی دوباره برگشتم.

توی این پست میخوام در مورد ارتباط با دیتابیس access براتون توضیح بدم و اینکه چطور به وسیله PHP به این دیتابیس متصل شیم.

برای اینکار نیاز داریم که از PDO استفاده کنیم.حتما دقت کنید که درایور ODBC نصب باشه وگرنه نمیتونید اینکار رو انجام بدید.

برای اطمینان از نصب درایور ODBC دستور phpinfo رو اجرا کنید و در قسمت PDO ببینید این دراور نصبه یا خیر :

access_03

اگر این درایور برای شما نصب نیست کافیه که در فایل php.ini خط زیر رو از حالت کامنت خارج کنید :

<code>extension=php_pdo_odbc.dll</code>

مرحله بعد استفاده از PDO برای اتصال به این دیتابیسه.

از کلاس PDO یک شیء میسازیم و رشته اتصال رو به صورت زیر تعیین میکنیم :

$db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$dbName; Uid=; Pwd=;");

در قسمت $dbName باید مسیر مستقیم فایل اکسس با پسوند mdb رو قرار بدیم.

برای اینکار میتونیم به صورت زیر عمل کنیم :

$dbName = $_SERVER["DOCUMENT_ROOT"] . "products\products.mdb";
if (!file_exists($dbName)) {
    die("Could not find database file.");
}

 

خب به همین راحتی اتصال به دیتابیس اکسس انجام شد. حالا میتونیم دستورات مورد نظر رو روی دیتابیس اعمال کنیم.

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

$sql  = "SELECT price FROM product";
$sql .= " WHERE id = " . $productId;
 
$result = $db->query($sql);
$row = $result->fetch();
 
$productPrice = $row["price"];

 

همینطور میتونید تمام دستورات sql که اکسس پشتیبانی میکنه رو بنویسید و اجرا کنید

موفق باشید

بازدید : ۹۶۳۴

دی ۵, ۱۳۹۲ @ ۹:۵۹ ق.ظ

سلام
ممنون از آموزش خوبتون
مزایا و معایب رو هم ذکر کنید لطفا
سرعت کدوم بیشتره ؟ mysql OR odbc

پاسخ
    سعید
    دی ۷, ۱۳۹۲ @ ۱:۳۰ ب.ظ

    سلام
    خواهش میکنم
    منظورتون ازمزایا و معایب چیه؟ ممکنه در شرایطی استفاده از mysql بهتر باشه و در شراط دیگه استفاده از اکسس
    در مورد سرعت هم سوالتون اشتباهه. odbc یک api برای اتصال و مدیریت به پایگاه داده است که میتونه به دیتابیس های مختلف مثل : mysql , sqlite , access , sql server , …. متصل شه.

    پاسخ
دی ۱۱, ۱۳۹۲ @ ۴:۳۳ ب.ظ

فوق العاده بود ممنون

پاسخ
بهمن ۲۷, ۱۳۹۲ @ ۱۱:۱۰ ق.ظ

خیلی ممنون از مطالب خوبتون

پاسخ
اسفند ۲۸, ۱۳۹۲ @ ۱۱:۳۷ ب.ظ

ممنون بابت این بخش واقعا بهش احتیاج داشتم

پاسخ
فروردین ۲۱, ۱۳۹۳ @ ۲:۰۵ ب.ظ

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

پاسخ
    سعید
    فروردین ۲۱, ۱۳۹۳ @ ۹:۰۴ ب.ظ

    سلام
    در حال حاظر نه. برای اینکار باید با دستورات PDO آشنایی داشته باشی

    پاسخ
نگین
تیر ۲۵, ۱۳۹۳ @ ۱۲:۲۸ ق.ظ

سلام . خسته نباشید . من میخواستم از اکسس data رو به sql منتقل کنم با odbc . ولی وقتی میخوام query بنویسم error میده و میگه فیلد قیمت رو نمیتونه پیدا کنه .

پاسخ
    سعید مقدم زاده
    تیر ۲۵, ۱۳۹۳ @ ۱۱:۳۴ ق.ظ

    سلام. خب شاید کوئری رو اشتباه مینویسین.اگه دیتابیس هارو برام بفرستید چک کنم ببینم مشکل کجاست.

    پاسخ
      نگین
      تیر ۲۶, ۱۳۹۳ @ ۱۱:۴۱ ق.ظ

      میشه ایمیلتون رو بدبد لطفا؟

      پاسخ
        Saeed Moqadam
        تیر ۲۶, ۱۳۹۳ @ ۴:۱۲ ب.ظ
          bahar
          اردیبهشت ۲۲, ۱۳۹۴ @ ۱۱:۱۳ ق.ظ

          من با این متصل میشم به اکسس، موقع select، داده های فارسی را متوجه نمیشه.

نگین
تیر ۲۶, ۱۳۹۳ @ ۱۱:۴۰ ق.ظ

میشه email خودتون رو بدید؟

پاسخ
sajad
تیر ۳۰, ۱۳۹۴ @ ۲:۵۰ ب.ظ

یه سوال داشتم میخواستم بدونم چه جوری میتونم ورژن phpمو تغییر بدم

پاسخ
محمد
شهریور ۱۵, ۱۳۹۴ @ ۵:۲۸ ب.ظ

سلام دوست عزیز
ارور زیر رو دریافت میکنم:
SQLSTATE[IM002] SQLDriverConnect: 0 [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

مشکل از کجا میتونه باشه؟

پاسخ
    Saeed Moqadam
    شهریور ۱۸, ۱۳۹۴ @ ۱۱:۱۷ ق.ظ

    شما میخواید به SQlServer یا اکسس متصل شی ؟
    کدهات رو بذار تا ببینیم مشکل از کجاست.

    پاسخ

دیدگاهتان را بنویسید

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


*