کار با دیتابیس اکسس در 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 یا اکسس متصل شی ؟
    کدهات رو بذار تا ببینیم مشکل از کجاست.

    پاسخ دادن

پاسخ دهید

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


*