Domanda

Non ho esperienza con l'accesso.

Come aggiornare / inserire / cancellare / selezionare l'istruzione con e senza $ rs = new com (" ADODB.RecordSet "); ?

È stato utile?

Soluzione

DOP

Se vuoi interfacciarti con un database MS Access usando PHP, PDO è disponibile per te.

<?php
    try {
        $pdo = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\accounts.mdb;Uid=Admin");
    }
    catch (PDOException $e) {
        echo $e->getMessage();
    } 

Quando si utilizza PDO, grazie all'interfaccia unificata per le operazioni DB, si ha la possibilità di rendere la propria app più portatile su vari sistemi RDBM. Tutto quello che devi fare è fornire la stringa di connessione alla nuova istanza DOP e avere installato il driver PDO corretto .

Come risultato di questa interfaccia unificata, la tua applicazione può essere facilmente trasferita da MS Access a MySQL, SQLite, Oracle, Informix, DB2, ecc. che sicuramente è il caso se invecchia abbastanza.

Ecco un esempio di inserimento:

<?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

Nel caso in cui non si desideri utilizzare DOP per alcuni motivi folli, è possibile esaminare ODBC .

Ecco un esempio:

<?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);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top