Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Kết nối với hai cơ sở dữ liệu khác nhau trong PHP?

Câu trả lời ngắn gọn: .

Câu trả lời dài:
Bạn nên đảm bảo rằng mã của mình luôn sử dụng số nhận dạng kết nối để tránh nhầm lẫn và có mã rõ ràng, dễ đọc. (Đặc biệt khi bạn kết nối với cả hai cơ sở dữ liệu bằng cách sử dụng lớp trừu tượng như ODBC hoặc PDO)

Vui lòng xem Hướng dẫn PHP về PDO và quản lý kết nối

Ví dụ:

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

Ví dụ không có 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);
}

Như bạn thấy ở trên, mã cho hai trình điều khiển cơ sở dữ liệu khác nhau về cú pháp của nó - đó là lý do tại sao tôi khuyên bạn nên sử dụng PDO.

PDO sẽ tránh được nhiều rắc rối và sẽ làm cho việc chuyển đổi sang một trình điều khiển cơ sở dữ liệu khác dễ dàng hơn nhiều nếu bạn quyết định làm như vậy sau này. Nó tóm tắt tất cả các trình điều khiển cơ sở dữ liệu và cung cấp cho bạn một giao diện đơn giản để xử lý tất cả chúng với cùng một cú pháp.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách sao chép bảng trong MySQL

  2. MySQL chèn từ một vùng văn bản đến nhiều hàng

  3. Nhập tệp .sql MySQL lớn trên Windows bằng Force

  4. MySql 5.0 có thể có chế độ xem bảng nằm trên máy chủ khác không

  5. Xóa hồ sơ trước một ngày nhất định