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 "); ?

¿Fue útil?

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);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top