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

Làm cách nào để tạo một truy vấn cơ sở dữ liệu chéo trong PHP?

Bạn sẽ cần cơ sở dữ liệu của mình chạy trên cùng một máy chủ.

Nếu vậy, bạn sẽ có thể sử dụng mysql_select_db trên db yêu thích / mặc định của mình và chỉ định cơ sở dữ liệu nước ngoài theo cách thủ công.

$db = mysql_connect($hots, $user, $password);
mysql_select_db('my_most_used_db', $db);

$q = mysql_query("
    SELECT *
    FROM   table_on_default_db a, `another_db`.`table_on_another_db` b
    WHERE  a.id = b.fk_id
");

Nếu cơ sở dữ liệu của bạn chạy trên một máy chủ lưu trữ khác, bạn sẽ không thể tham gia trực tiếp. Nhưng sau đó bạn có thể thực hiện 2 truy vấn.

$db1 = mysql_connect($host1, $user1, $password1);
$db2 = mysql_connect($host2, $user2, $password2);

$q1 = mysql_query("
    SELECT id
    FROM   table
    WHERE  [..your criteria for db1 here..]
", $db1);
$tmp = array();
while($val = mysql_fetch_array($q1))
    $tmp[] = $val['id'];

$q2 = mysql_query("
    SELECT *
    FROM   table2
    WHERE  fk_id in (".implode(', ', $tmp).")
", $db2);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. dấu nháy đơn trong khi Chèn (Mysql)

  2. cách dễ dàng để chọn các hàng từ tất cả các bảng

  3. Làm thế nào để mô hình hóa các mối quan hệ tình bạn

  4. Gặp lỗi Mysql2 ::(lỗi kết nối SSL:ASN:xác nhận chữ ký khác không hợp lệ) trên Ứng dụng Heroku với AWS RDS

  5. Cách chỉnh sửa tệp mySQL my.cnf