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

نوامبر 27, 2013 توسط : سعید

سلام

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

توی این پست میخوام در مورد ارتباط با دیتابیس 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 که اکسس پشتیبانی میکنه رو بنویسید و اجرا کنید

موفق باشید

دسامبر 26, 2013 @ 9:59 ق.ظ

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

پاسخ
    سعید
    دسامبر 28, 2013 @ 1:30 ب.ظ

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

    پاسخ
ژانویه 1, 2014 @ 4:33 ب.ظ

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

پاسخ
فوریه 16, 2014 @ 11:10 ق.ظ

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

پاسخ
مارس 19, 2014 @ 11:37 ب.ظ

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

پاسخ
آوریل 10, 2014 @ 2:05 ب.ظ

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

پاسخ
    سعید
    آوریل 10, 2014 @ 9:04 ب.ظ

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

    پاسخ
نگین
جولای 16, 2014 @ 12:28 ق.ظ

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

پاسخ
    سعید مقدم زاده
    جولای 16, 2014 @ 11:34 ق.ظ

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

    پاسخ
      نگین
      جولای 17, 2014 @ 11:41 ق.ظ

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

      پاسخ
        Saeed Moqadam
        جولای 17, 2014 @ 4:12 ب.ظ
          bahar
          می 12, 2015 @ 11:13 ق.ظ

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

نگین
جولای 17, 2014 @ 11:40 ق.ظ

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

پاسخ
sajad
جولای 21, 2015 @ 2:50 ب.ظ

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

پاسخ
محمد
سپتامبر 6, 2015 @ 5:28 ب.ظ

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

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

پاسخ
    Saeed Moqadam
    سپتامبر 9, 2015 @ 11:17 ق.ظ

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

    پاسخ

پاسخ دادن به Osman Makhtoom لغو پاسخ

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


*