Hướng dẫn how do i access another wordpress database? - làm cách nào để truy cập cơ sở dữ liệu wordpress khác?

Tôi muốn kết nối wpdb với cơ sở dữ liệu khác. Làm cách nào để tạo phiên bản và chuyển nó tên/tên người dùng/mật khẩu cơ sở dữ liệu?

Cảm ơn

Hỏi ngày 10 tháng 9 năm 2010 lúc 2:31Sep 10, 2010 at 2:31

Hướng dẫn how do i access another wordpress database? - làm cách nào để truy cập cơ sở dữ liệu wordpress khác?

Wadih M.Wadih M.Wadih M.

2.8283 huy hiệu vàng16 Huy hiệu bạc12 Huy hiệu đồng3 gold badges16 silver badges12 bronze badges

4

Vâng nó có thể.

Đối tượng WPDB có thể được sử dụng để truy cập bất kỳ cơ sở dữ liệu và truy vấn nào bất kỳ bảng nào. Hoàn toàn không cần phải có liên quan đến WordPress, điều này rất thú vị.

Lợi ích là khả năng sử dụng tất cả các lớp và chức năng WPDB như get_results, v.v. để không cần phải phát minh lại bánh xe.

Đây là cách:

$mydb = new wpdb('username','password','database','localhost');
$rows = $mydb->get_results("select Name from my_table");
echo "
    "; foreach ($rows as $obj) { echo "
  • ".$obj->Name."
  • "; } echo "
";

Đã trả lời ngày 10 tháng 9 năm 2010 lúc 12:48Sep 10, 2010 at 12:48

Wadih M.Wadih M.Wadih M.

2.8283 huy hiệu vàng16 Huy hiệu bạc12 Huy hiệu đồng3 gold badges16 silver badges12 bronze badges

7

Vâng nó có thể.

Đối tượng WPDB có thể được sử dụng để truy cập bất kỳ cơ sở dữ liệu và truy vấn nào bất kỳ bảng nào. Hoàn toàn không cần phải có liên quan đến WordPress, điều này rất thú vị.

/**
 * Instantiate the wpdb class to connect to your second database, $database_name
 */
$second_db = new wpdb(DB_USER, DB_PASSWORD, $database_name, DB_HOST);
/**
 * Use the new database object just like you would use $wpdb
 */
$results = $second_db->get_results($your_query);

Lợi ích là khả năng sử dụng tất cả các lớp và chức năng WPDB như get_results, v.v. để không cần phải phát minh lại bánh xe.Sep 11, 2010 at 20:53

Đây là cách:jerclarke

Đã trả lời ngày 10 tháng 9 năm 2010 lúc 12:482 gold badges26 silver badges34 bronze badges

2

Kết nối với cơ sở dữ liệu thứ hai rất dễ dàng trong WordPress, bạn chỉ cần tạo một thể hiện mới của lớp WPDB và sử dụng nó giống như cách bạn sẽ sử dụng phiên bản $ WPDB tiêu chuẩn mà tất cả chúng ta đều biết và yêu thích.

Giả sử cơ sở dữ liệu thứ hai có thông tin đăng nhập giống như WP chính mà bạn thậm chí có thể sử dụng các hằng số được xác định trước từ wp-config.php để tránh mã hóa thông tin đăng nhập.

$query = $wpdb->prepare('SELECT * FROM dbname.dbtable WHERE 1');
$result = $wpdb->get_results($query);

Đã trả lời ngày 11 tháng 9 năm 2010 lúc 20:53Dec 29, 2010 at 14:27

JerclarkejerclarkeCommentLuv

2.9232 huy hiệu vàng26 Huy hiệu bạc34 Huy hiệu đồng7 silver badges18 bronze badges

2

Không ai nói điều này vì vậy tôi nghĩ rằng tôi sẽ thêm một cách thậm chí dễ dàng hơn ..

$wpdb->select('database_name');

Miễn là cơ sở dữ liệu bổ sung của bạn có cùng một người dùng/chi tiết Pass để truy cập nó như cơ sở dữ liệu WordPress của bạn, bạn có thể sử dụng tên cơ sở dữ liệu trước tên bảng như thế này

Hướng dẫn how do i access another wordpress database? - làm cách nào để truy cập cơ sở dữ liệu wordpress khác?

Đã trả lời ngày 29 tháng 12 năm 2010 lúc 14:27

Nhận xétLuvComluv23 gold badges146 silver badges236 bronze badges

5807 Huy hiệu bạc18 Huy hiệu đồngApr 8, 2011 at 12:02

1

Mặc dù chúng sẽ hoạt động, bạn sẽ mất khả năng sử dụng các tính năng tùy chỉnh "khác" như GET_POST_CUSTOM và các truy vấn WordPress. Giải pháp đơn giản là

thay đổi toàn bộ hệ thống cơ sở dữ liệu (a mysql select_db). Phương thức cơ sở dữ liệu.Table hoạt động nếu bạn chỉ muốn thực hiện một truy vấn đơn giản, nhưng nếu bạn muốn truy cập một blog WordPress khác, bạn có thể sử dụng Chọn. Bạn sẽ chỉ cần thay đổi nó khi bạn hoàn thành hoặc blog của bạn có thể làm những điều kỳ lạ.

KaiserSep 10, 2010 at 16:38

50.1K23 Huy hiệu vàng146 Huy hiệu bạc236 Huy hiệu Đồnggabrielk

Đã trả lời ngày 8 tháng 4 năm 2011 lúc 12:027 silver badges9 bronze badges

2

Tôi chưa thể bình luận, nhưng tôi muốn mở rộng câu trả lời của Wadih M. (thật tuyệt vời).

Lớp cơ sở dữ liệu của WP là phiên bản tùy chỉnh của EZSQL của Justin Vincent. Nếu bạn thích giao diện và bạn muốn thực hiện một trang web không dựa trên WordPress, bạn có thể muốn kiểm tra nó: http://justinvincent.com/ezsql

Hướng dẫn how do i access another wordpress database? - làm cách nào để truy cập cơ sở dữ liệu wordpress khác?

Đã trả lời ngày 10 tháng 9 năm 2010 lúc 16:38

Gabrielkgabrielk34 gold badges245 silver badges442 bronze badges

1.0237 huy hiệu bạc9 Huy hiệu đồngApr 22, 2011 at 19:13

Tôi đã đấu tranh với việc sử dụng $wpdb để kết nối với cơ sở dữ liệu blog thứ hai từ một trang web phụ huynh cần cập nhật hai blog. Tôi đã sử dụng $wpdb->select($dbname, $dbh) để chọn cơ sở dữ liệu thứ hai, nhưng tôi vẫn nhận được kết quả từ cơ sở dữ liệu đầu tiên.Matt

Tôi đã giải quyết vấn đề bằng cách gọi wp_cache_flush() để xóa bộ đệm WordPress trước khi gọi các hàm WP trên cơ sở dữ liệu thứ hai.1 silver badge1 bronze badge

Chúng ta có thể sử dụng cơ sở dữ liệu khác nhau cho WordPress không?

Trong Trình khám phá dữ liệu, bạn có thể chuyển cơ sở dữ liệu và chỉnh sửa bất kỳ bảng nào trong bất kỳ cơ sở dữ liệu nào khác mà bạn có quyền truy cập..

Cơ sở dữ liệu WordPress được lưu trữ ở đâu?

Tóm lại, các trang WordPress được lưu trữ trong cơ sở dữ liệu của bạn trong một bảng có tên là WP_POSTS, và tất cả các mẫu WordPress và các tệp plugin khác được lưu trữ trong thư mục WP WP-Content với các chủ đề và tên plugin.