PHP и БД MS Access

Как-то раз возникла необходимость разработать PHP-скрипт для ведения небольшой базы данных поставщиков фирмы. Все-бы ничего, но в качестве СУБД необходимо было использовать MS Access. В результате недолгих поисков была найдена очень полезная библиотека ADOdb.
ADOdb — это класс абстракций для работы с базами данных самых различных форматов (включая Microsoft Access, и даже FoxPro. Полный список тут).
Скачать ADOdb для PHP можно тут.
Для ее использования достаточно просто подключить файл adodb.inc.php к своему скрипту:
include('adodb/adodb.inc.php');

Соединяемся с базой данных:
// Создаем новое ADO-соединение
$db = ADONewConnection('access');
$db->debug = true;

// Подключаемся к базе данных
$connstr = "Driver={Microsoft Access Driver (*.mdb)};Dbq=c:\\db.mdb;Uid=Admin;Pwd=;";
$db->Connect($connstr) or die("Невозможно подключиться к БД MS Access");

Обратите внимание на строку подключения ($connstr). Параметр Driver представляет собой ODBC-название провайдера СУБД Access, Параметр Dbq содержит путь к файлу базы данных, а параметры Uid и Pwd — логин и пароль соответственно.

Пример скрипта, выводящего на экран содержимое таблицы users:
<?
include ("adodb5/adodb.inc.php");
$db = ADONewConnection('access');
$db->debug = true;
$connstr = "Driver={Microsoft Access Driver (*.mdb)};Dbq=c:\\db.mdb;Uid=Admin;Pwd=;";
$db->Connect($connstr) or die("Невозможно подключиться к БД MS Access");

$result = $db->Execute("SELECT * FROM users");
if (!$result)
die ($db->ErrorMsg());

while (!$result->EOF){
echo $result->fields['name'] . " " . $result->fields['last_name'] . "<br>";
$result->MoveNext();
}
?>

Добавление новой записи в таблицу:
<?
include ("adodb5/adodb.inc.php");
$db = ADONewConnection('access');
$db->debug = true;
$connstr = "Driver={Microsoft Access Driver (*.mdb)};Dbq=c:\\db.mdb;Uid=Admin;Pwd=;";
$db->Connect($connstr) or die("Невозможно подключиться к БД MS Access");

$sql = "INSERT INTO users VALUES('Иван','Петров')";
if (!$db->Execute($sql))
die ($db->ErrorMsg());
echo "Пользователь Иван Петров добавлен";
?>

PS: Все действия выполнялись на Windows-машине с Denwer. На Linux завести не удалось по причине нежелания мучаться с установкой ODBC-драйвера для Access.

Поблагодарить автора

6 Responses to PHP и БД MS Access

  1. пасиба) интересная статья) только зачем использовать MS Access если есть MySQL?) или это клиенты сильно хотели так?

  2. А как вообще указать на БД Акцеса... Не получаеться...

    Не могли бы статейку написать как вообще организовать подключения файла ... Блин голову сломал...

  3. Путь к файлу базы указывается в строке подключения:

    $connstr = «Driver={Microsoft Access Driver (*.mdb)};Dbq=c:\\db.mdb;Uid=Admin;Pwd=;»;

  4. А можеш помоч мне какрас надо для Лінукс((( і не знаю как зделать)) пробую РДО но чтото не выходит ни как не подключусь к одбс))

Оставить комментарий

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>