Mysql
 sql >> база данни >  >> RDS >> Mysql

Свържете се с две различни бази данни в PHP?

Кратък отговор:Да .

Дълъг отговор:
Трябва да се уверите, че вашият код винаги използва идентификатори на връзката, за да избегнете объркване и да имате чист, четим код. (Особено когато се свързвате към двете бази данни, като използвате слой за абстракция като ODBC или PDO)

Моля, разгледайте Ръководството на PHP за PDO и управление на връзки

Пример:

$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);
}

Пример без 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);
}

Както виждате по-горе, кодът за двата драйвера на базата данни се различава по своя синтаксис – затова предлагам да използвате PDO.

PDO ще избегне много неприятности и ще направи превключването към друг драйвер за база данни много по-лесно, ако решите да го направите по-късно. Той абстрахира всички драйвери на базата данни и ви дава прост интерфейс за работа с всички тях с един и същ синтаксис.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да инсталирам MySQL-python на екземпляр на Amazon Web Services EC2?

  2. Лесно настройване на уеб сървър с XAMPP

  3. Подзаявки с EXISTS срещу IN - MySQL

  4. генерирайте празни редове, дори ако са празни между 2 дати

  5. Hibernate session.beginTransaction() извикване и Mysql Start Transaction