Base de données PHP et Microsoft Access - Connexion et CRUD
Question
Je n'ai aucune expérience en matière d'accès.
Comment effectuer une instruction update / insert / delete / select avec et sans $ rs = new com (" ADODB.RecordSet ");
?
La solution
PDO
Si vous souhaitez vous connecter à une base de données MS Access en utilisant PHP, PDO est disponible pour vous.
<?php
try {
$pdo = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\accounts.mdb;Uid=Admin");
}
catch (PDOException $e) {
echo $e->getMessage();
}
Lorsque vous utilisez PDO, en raison de l'interface unifiée pour les opérations de base de données, vous avez la possibilité de rendre votre application plus portable sur plusieurs systèmes de RDBM. Tout ce que vous avez à faire est de fournir la chaîne de connexion à la nouvelle instance de PDO et de disposer du pilote PDO correct installé .
Grâce à cette interface unifiée, votre application peut facilement être portée de MS Access vers MySQL, SQLite, Oracle, Informix, DB2, etc., ce qui est certainement le cas si elle vieillit suffisamment.
Voici un exemple d'insertion:
<?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
Si vous ne souhaitez pas utiliser PDO pour des raisons insensées, vous pouvez consulter ODBC .
Voici un exemple:
<?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);