Как-то раз возникла необходимость разработать 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.
Webmoney Z163628999150, R61715184597
|
03 Окт 2009
пасиба) интересная статья) только зачем использовать MS Access если есть MySQL?) или это клиенты сильно хотели так?
04 Окт 2009
Да, вот такое было требование.
06 Ноя 2009
А как вообще указать на БД Акцеса... Не получаеться...
Не могли бы статейку написать как вообще организовать подключения файла ... Блин голову сломал...
10 Ноя 2009
Путь к файлу базы указывается в строке подключения:
$connstr = «Driver={Microsoft Access Driver (*.mdb)};Dbq=c:\\db.mdb;Uid=Admin;Pwd=;»;
30 Авг 2010
А можеш помоч мне какрас надо для Лінукс((( і не знаю как зделать)) пробую РДО но чтото не выходит ни как не подключусь к одбс))
30 Авг 2010
А с odbc в чем проблема?
Вот ссылка по теме: