PHP и БД MS Access

Категория: PHP Комментариев: 6

Как-то раз возникла необходимость разработать 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.

Автор: Кто-то   @   19 августа 2009 Комментариев: 6
Метки : ,

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

Webmoney Z163628999150, R617151845974

Комментариев: 6

Комментарии
Окт 3, 2009
16:48
#1 PHP :

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

Автор Окт 4, 2009
21:11

Да, вот такое было требование.

Ноя 6, 2009
14:11
#3 Алексей :

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

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

Автор Ноя 10, 2009
20:49

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

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

Авг 30, 2010
16:56
#5 Sergei :

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

Автор Авг 30, 2010
19:59

А с odbc в чем проблема?

Вот ссылка по теме: vampirus.ru/code/odbc-msa...rochaya-nechist/

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

Предыдущая запись
«
Следующая запись
»