sql >> Databasteknik >  >> RDS >> Mysql

Ansluta till två olika databaser i PHP?

Kort svar:Ja .

Långt svar:
Du bör se till att din kod alltid använder anslutningsidentifierare för att undvika förvirring och ha ren, läsbar kod. (Särskilt när du ansluter till båda databaserna med hjälp av ett abstraktionslager som ODBC eller PDO)

Vänligen titta i PHP-manualen om PDO och anslutningshantering

Exempel:

$link_mysql = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
$link_msaccess = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\\test.mdb");

// query MySQL DB
foreach($link_mysql->query('SELECT * FROM test') as $row) {
    print_r($row);
}

// query MS Access DB
foreach($link_msaccess->query('SELECT * FROM omg_its_access') as $row) {
    print_r($row);
}

Exempel utan PDO:

$link_mysql = mysql_connect("localhost", $user, $pass);
mysql_select_db("test", $link_mysql);

$link_msaccess = odbc_connect("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\\test.mdb");

// you may omit the link identifier for MySQL, but i suggest to use it explicitly 
$res1 = mysql_query('SELECT * FROM test', $link_mysql);
while ($row = mysql_fetch_row($res1)) {
    print_r($row);
}
// for ODBC the link identifier is mandatory
$res2 = odbc_exec($link_msaccess, 'SELECT * FROM omg_its_access');
while ($row = odbc_fetch_row($res2)) {
    print_r($row);
}

Som du ser ovan skiljer sig koden för de två databasdrivrutinerna i sin syntax - det är därför jag föreslår att du använder PDO.

PDO kommer att undvika mycket krångel och kommer att göra det mycket lättare att byta till en annan databasdrivrutin om du bestämmer dig för att göra det senare. Den abstraherar alla databasdrivrutiner och ger dig ett enkelt gränssnitt för att hantera dem alla med samma syntax.



  1. Hur man hittar alla tabeller med Identity Column i SQL Server Database - SQL Server / T-SQL Tutorial Del 45

  2. Postgres:INFOGA om det inte redan finns

  3. Oracle - uppdatera join - icke nyckelbevarad tabell

  4. Automatiskt utöka en Python-lista med formaterad utdata