Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Terhubung ke dua database berbeda di PHP?

Jawaban singkat:Ya .

Jawaban panjang:
Anda harus memastikan bahwa kode Anda selalu menggunakan pengenal koneksi untuk menghindari kebingungan dan memiliki kode yang bersih dan mudah dibaca. (Terutama ketika Anda terhubung ke kedua database menggunakan lapisan abstraksi seperti ODBC atau PDO)

Silakan lihat Manual PHP tentang PDO dan manajemen koneksi

Contoh:

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

Contoh tanpa 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);
}

Seperti yang Anda lihat di atas, kode untuk dua driver database berbeda dalam sintaksnya - itulah sebabnya saya menyarankan untuk menggunakan PDO.

PDO akan menghindari banyak kerumitan dan akan membuat peralihan ke driver database lain jauh lebih mudah jika Anda memutuskan untuk melakukannya nanti. Ini mengabstraksi semua driver database dan memberi Anda antarmuka sederhana untuk menangani semuanya dengan sintaks yang sama.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menghubungkan kembali MySQL pada waktu habis

  2. OctoberCMS:Bagaimana menjaga hubungan persahabatan dua arah?

  3. Koneksi PDO dasar ke MySQL

  4. Database PHP Argumen tidak valid disediakan untuk foreach()

  5. masalah unserialize