PHP e banco de dados Microsoft Access - Conexão e CRUD
Pergunta
Eu não tenho nenhuma experiência com o acesso.
Como fazer update / insert / delete / select com e sem $rs = new com("ADODB.RecordSet");
?
Solução
PDO
Se você quiser interagir com um banco de dados MS Access usando PHP, PDO está disponível para você.
<?php
try {
$pdo = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\accounts.mdb;Uid=Admin");
}
catch (PDOException $e) {
echo $e->getMessage();
}
Ao usar DOP, devido à interface unificada para as operações de banco de dados, você tem a oportunidade de fazer seu aplicativo mais portátil em vários sistemas RDBMS. Tudo que você tem a fazer é fornecer a seqüência de conexão para a nova instância DOP e tem o driver DOP correto instalado .
Como o resultado desta interface unificada, seu aplicativo pode ser facilmente portado do MS Access para MySQL, SQLite, Oracle, Informix, DB2, etc, que certamente é o caso se ele envelhece suficiente.
Aqui está um exemplo de inserção:
<?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
No caso de você não quiser usar DOP para algumas razões insanas, você pode olhar em ODBC .
Aqui está um exemplo:
<?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);