PHP und Microsoft Access-Datenbank - Verbindung und CRUD
Frage
Ich habe keine Erfahrung mit Zugang.
Wie Update / Insert tun / Löschen / select-Anweisung mit und ohne $rs = new com("ADODB.RecordSet");
?
Lösung
PDO
Wenn Sie mit einem MS Access-Datenbank-Schnittstelle mit PHP, PDO steht Ihnen zur Verfügung.
<?php
try {
$pdo = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\accounts.mdb;Uid=Admin");
}
catch (PDOException $e) {
echo $e->getMessage();
}
Wenn PDO verwenden, aufgrund der einheitlichen Schnittstelle für DB-Operationen, haben Sie die Möglichkeit, Ihre App mehr tragbar über verschiedene RDBMS-Systeme zu machen. Alles, was Sie tun müssen, ist die Verbindungszeichenfolge auf die PDO neue Instanz und haben die richtigen PDO-Treiber installiert zu liefern.
Als Ergebnis dieser einheitlichen Schnittstelle Ihre Anwendung kann leicht von MS Access zu MySQL, SQLite, Oracle, Informix, DB2 portiert werden usw., die mit Sicherheit der Fall ist, wenn sie im Alter genug.
Hier ist ein Einführungsbeispiel:
<?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
Falls Sie nicht möchten, dass PDO verwenden für einige verrückt Gründen kann man sich in ODBC .
Hier ist ein Beispiel:
<?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);