Как подключить PHP к базе данных Microsoft Access

В настоящее время я столкнулся с новой проблемой для разработки сайта с использованием Microsoft Access в качестве первичной базы данных вместо mysql. Я раньше не использовал MS Access, и мне хотелось бы, чтобы это было сделано, я просмотрел веб-сайт w3c на W3schools, но код дает ошибку

Предупреждение: odbc_connect () [function.odbc-connect]: ошибка SQL: [Microsoft] [диспетчер драйверов ODBC] Имя источника данных не найдено и не указан драйвер по умолчанию, состояние SQL IM002 в SQLConnect в C: \ Users \ NNALI \ Desktop \ root \ test.php в строке 2

и эта ошибка

Предупреждение: odbc_exec () ожидает, что параметр 1 будет ресурсом, логическим значением в C: \ Users \ NNALI \ Desktop \ Breweries \ root \ test.php в строке 4

Я застрял и не знаю, что делать, я был бы признателен за всю помощь в этом.

<?php $conc = odbc_connect("northwind", "",""); $sql = "Select * From customers"; $rs = odbc_exec($conn, $sql); ?> 

Выше приведен код, который я использовал

Если вы только начинаете с нового проекта, я бы предложил использовать PDO вместо старого метода odbc_exec() . Вот простой пример:

 <?php $bits = 8 * PHP_INT_SIZE; echo "(Info: This script is running as $bits-bit.)\r\n\r\n"; $connStr = 'odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};' . 'Dbq=C:\\Users\\Gord\\Desktop\\foo.accdb;'; $dbh = new PDO($connStr); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "SELECT AgentName FROM Agents " . "WHERE ID < ? AND AgentName <> ?"; $sth = $dbh->prepare($sql); // query parameter value(s) $params = array( 5, 'Homer' ); $sth->execute($params); while ($row = $sth->fetch()) { echo $row['AgentName'] . "\r\n"; } 
 <?php $dbName = $_SERVER["DOCUMENT_ROOT"] . "products\products.mdb"; if (!file_exists($dbName)) { die("Could not find database file."); } $db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$dbName; Uid=; Pwd=;"); 

Успешное соединение позволит выполнять команды SQL из PHP для чтения или записи базы данных. Если, однако, вы получите сообщение об ошибке «PDOException Не удалось найти драйвер», тогда вполне вероятно, что драйвер PDO ODBC не установлен. Используйте функцию phpinfo (), чтобы проверить установку для ссылок на PDO.

Если запись для PDO ODBC отсутствует, вам необходимо убедиться, что ваша установка включает в себя расширение PDO и драйверы ODBC. Чтобы сделать это в Windows, раскомментируйте расширение строки = php_pdo_odbc.dll в php.ini, перезапустите Apache и попробуйте снова подключиться к базе данных.

С установленным драйвером вывод из phpinfo () должен содержать следующую информацию: https://www.diigo.com/item/image/5kc39/hdse

http://i.stack.imgur.com/Zwp2W.png

Вы уверены, что разъем odbc хорошо создан? если не повторить шаг « Создать соединение ODBC »

EDIT : подключение без DSN от php.net

// Microsoft Access

 $connection = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=$mdbFilename", $user, $password); 

в вашем случае это может быть, если ваше имя файла – северный ветер и расширение файла mdb:

 $connection = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=northwind", "", ""); 

Проблема заключается в простой опечатке. Вы указали свою переменную «conc» в строке 2, но затем указали «conn» в строке 4.