Base de datos PHP y Microsoft Access - Conexión y CRUD
Pregunta
No tengo experiencia con el acceso.
Cómo hacer una declaración de actualización / inserción / eliminación / selección con y sin $ rs = new com (" ADODB.RecordSet ");
?
Solución
DOP
Si desea interactuar con una base de datos de MS Access mediante PHP, PDO está disponible para usted.
<?php
try {
$pdo = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\accounts.mdb;Uid=Admin");
}
catch (PDOException $e) {
echo $e->getMessage();
}
Al utilizar PDO, debido a la interfaz unificada para las operaciones de base de datos, tiene la oportunidad de hacer que su aplicación sea más portátil en varios sistemas RDBM. Todo lo que tiene que hacer es proporcionar la cadena de conexión a la nueva instancia de PDO y tener instalado el controlador PDO correcto .
Como resultado de esta interfaz unificada, su aplicación se puede portar fácilmente desde MS Access a MySQL, SQLite, Oracle, Informix, DB2, etc., lo que ciertamente es el caso si es lo suficientemente antiguo.
Aquí hay un ejemplo de inserción:
<?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
En caso de que no quieras usar PDO por alguna razón, puedes buscar en ODBC .
Aquí hay un ejemplo:
<?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);