PHP и БД MS Access

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

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

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

Webmoney Z163628999150, R61715184597

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

  • PHP

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

  • Кто-то

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

  • Алексей

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

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

  • Кто-то

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

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


Leave a reply

;) :| :x :twisted: :) 8O :( :roll: :P :oops: :o :mrgreen: :lol: :idea: :D :evil: :cry: 8) :arrow: :? :?: :!:

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