База данных PHP и Microsoft Access - Соединение и CRUD
Вопрос
У меня нет опыта доступа.
Как выполнить обновление / вставку / удаление / выбор оператора с и без $ rs = new com (" ADODB.RecordSet ");
Решение
PDO
Если вы хотите взаимодействовать с базой данных MS Access с помощью PHP, PDO доступно для вас. Р>
<?php
try {
$pdo = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\accounts.mdb;Uid=Admin");
}
catch (PDOException $e) {
echo $e->getMessage();
}
При использовании PDO благодаря унифицированному интерфейсу для операций с БД у вас есть возможность сделать ваше приложение более переносимым в различных системах RDBM. Все, что вам нужно сделать, это предоставить строку подключения к новому экземпляру PDO и установить правильный драйвер PDO . Р>
Благодаря такому унифицированному интерфейсу ваше приложение может быть легко перенесено из MS Access в MySQL, SQLite, Oracle, Informix, DB2 и т. д., что, безусловно, имеет место, если оно достаточно старое. Р>
Вот пример вставки:
<?php
try {
// Connect,
// Assuming that the DB file is available in `C:\animals.mdb`
$pdo = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\animals.mdb;Uid=Admin");
// INSERT data
$count = $pdo->exec("INSERT INTO animals(animal_type, animal_name) VALUES ('kiwi', 'troy')");
// echo the number of affected rows
echo $count;
// close the database connection
// See: http://php.net/manual/en/pdo.connections.php
$pdo = null;
}
catch (PDOException $e) {
echo $e->getMessage();
}
ODBC
Если вы не хотите использовать PDO по каким-то безумным причинам, вы можете заглянуть в ODBC . Р>
Вот пример:
<?php
if (! $conn = odbc_connect('northwind', '', '')) {
exit("Connection Failed: $conn");
}
if (! $rs = odbc_exec($conn, 'SELECT * FROM customers')) {
exit('Error in SQL');
}
while (odbc_fetch_row($rs)) {
echo 'Company name: ', odbc_result($rs, 'CompanyName'), PHP_EOL;
echo 'Contact name: ', odbc_result($rs, 'ContactName'), PHP_EOL;
}
odbc_close($conn);