找回密码
 立即注册
查看: 975|回复: 1

一个wordpress网站W,如何连接两个不同的mysql数据库?

[复制链接]

328

主题

499

回帖

3260

积分

管理员

积分
3260
QQ
发表于 2023-9-16 22:41:37 | 显示全部楼层 |阅读模式
一个wordpress网站W,连接了两个不同的mysql数据库,分别是A和B,A是wordpress安装时自带的,B是在另外一台服务器上的创建的,现在前端uniapp程序要调用B上的数据库进行查询和读写操作,请给出一段示例代码。9 x' w$ T0 g+ K7 s/ z' n

/ t6 }: F- \' l! j首先,你需要在uniapp程序中使用合适的方式连接到数据库B。以下是一个示例代码,使用uniapp的`request`方法发送HTTP请求到B的服务器上,然后进行数据库查询和读写操作。2 I' H, t) [* x+ e5 t3 ?
3 h5 D+ f% f1 s
```javascript# H$ i- w0 n( |
// 在uniapp中调用B数据库的示例代码
9 r; |  E( {% ]* ?9 x2 d6 J, w, u) B" M
// 定义B数据库的服务器地址和端口号  p& L2 v9 e5 x0 W  k, n
const serverUrl = 'http://B服务器的地址:端口号';
) l9 K% E1 k$ ~; O$ _3 w8 @& f* P) X0 e. d. o
// 查询操作
1 h5 t+ T$ _* d) J6 v1 _- Puni.request({
, l2 y( V4 f8 ^- turl: serverUrl + '/query', // 在B服务器上定义的查询接口
6 @1 Q2 S5 ], w4 k1 H+ g$ zmethod: 'GET',
7 H1 \6 d9 s" b/ i4 Nsuccess: function(res) {
5 a+ H6 y, t! q) N" q( n0 r// 查询成功后的处理逻辑
7 M2 w6 a3 a" s" Econsole.log(res.data); // 输出查询结果
% h# I4 _( x% |; m9 W! e& r/ N2 ]},3 H# ^7 u- k+ B6 o; m8 M, U) W- G% D9 ]4 i
fail: function(err) {& t0 e( g- I* V% Y) C5 o
// 查询失败后的处理逻辑
: }) p& O5 \6 @! A3 b4 Iconsole.error(err);6 N% r5 @* |/ w: k2 T
}- ], h9 S/ S- S3 L2 K( A2 a* c
});
4 N4 O# F- p) }
; k1 c2 t- ]7 M. @: M//读写操作/ @* ~: K" {2 b: B: y( ?
uni.request({
+ R2 H% X4 j6 Aurl: serverUrl + '/write', // 在B服务器上定义的写入接口/ K$ L# Y* X0 ~. F9 q" o3 W
method: 'POST',6 x( m& L0 e+ b& c7 P
data: {
1 n. ^  R7 ~4 e, @( q  [1 }//传递的写入数据" K" v1 V2 D. M+ y" R8 C- }( a
// 根据B数据库的接口定义,传递合适的参数
2 D& {9 \+ }6 _5 a2 N: g},& b  J  R9 B6 j' \
success: function(res) {
; i& u2 H% E4 ^- j( q) G// 写入成功后的处理逻辑1 h: P! D* Z- P+ M3 h0 Z4 w( F
console.log(res.data); // 输出写入结果
5 _, V$ H2 l. N0 M2 B% A},
. m/ z7 e& C( _: z8 Q& {fail: function(err) {$ C' R) @/ \( B4 ~
// 写入失败后的处理逻辑
: g7 F7 m" e1 l. L: Q5 Hconsole.error(err);# p0 W. w# H4 L- g& Q
}6 o3 T6 E' v. m; e& R- v* D
});
; ?/ U% O: C" J; b9 u6 ~```2 F9 |5 e9 d# i6 w& W+ j* z1 q" f

* P: }4 [. f  R) J; F& K2 l5 {请注意,上述代码中的`serverUrl`需要替换为实际的B数据库服务器的地址和端口号。同时,根据B数据库的接口定义,适当修改查询和写入操作的参数和数据。6 f. H( U' E. x: f9 h7 e) o
回复

使用道具 举报

328

主题

499

回帖

3260

积分

管理员

积分
3260
QQ
 楼主| 发表于 2023-9-16 22:46:16 | 显示全部楼层
我在uniapp前端页面上有一个表单,分别有姓名和手机号码,需要保存到B数据库,同时把保存的结果无刷新实时地回显到前面页面上。
) }2 z  A; i# R9 P- n  Y/ B! l+ m  o+ c5 I6 l' @
  f7 L) }+ c2 [# v% V
如果你想在uniapp的前端页面上保存表单数据到B数据库,并实时回显结果,那么与W网站的关系是通过B数据库进行数据交互。3 [: o! W! q1 [. G$ n. Z
) Z( I1 B0 H+ \, q
在这种情况下,你需要在B数据库的服务器上创建一个接口,用于接收前端页面发送的保存请求,并将数据保存到B数据库中。然后,将保存结果返回给前端页面,以便实时回显。
% I* O/ I! G& T( c; ~$ i; l. U4 ~! N! \" _1 Z" k' w/ J" q& {  \
以下是一个示例代码,展示了如何在B数据库的服务器上创建一个保存接口:1 s. b4 ?/ U2 {

0 X4 w# j& u% A; [! H```php
4 N; ^0 p' D" ?5 z2 y, X1 \/ M4 q// 在B数据库服务器上创建保存接口的示例代码(使用PHP)
. b& s6 H& c$ Q, Y) a5 {- r# w, w: _* n) Z9 I+ o* v5 B
// 连接到B数据库; |" C' x3 o7 D) ]  e1 T( \" t9 `
$servername = "B数据库的服务器地址";  M! |+ {9 p: i; a! X4 q
$username = "B数据库的用户名";. z  N8 R  M* g5 ^+ P. O& T
$password = "B数据库的密码";, K! O/ c( S* G7 C3 Q- L. U
$dbname = "B数据库的名称";3 d8 A6 u5 d1 Q% ^7 a: Y! y$ g

9 I: K+ e- E0 }% ^. e$conn = new mysqli($servername, $username, $password, $dbname);
+ }7 d* _0 P% J1 Z, H# K, Qif ($conn->connect_error) {
3 }  D: F% A" [& Fdie("连接B数据库失败: " . $conn->connect_error);
3 m% x# E, c* f}4 w2 [" y1 {6 H2 B2 E

* X0 {3 d/ @4 q. L- d" l: j' M. R3 s//保存接口
( ?0 [9 W1 U" S* @5 fif ($_SERVER["REQUEST_METHOD"] == "POST") {
4 r- w, e9 m3 x8 d, L9 f) \$name = $_POST["name"]; // 表单中的姓名字段
. P) \! S' C: f. y$phone = $_POST["phone"]; // 表单中的手机号码字段
* Q3 a$ n* ?9 _& V  l& Y% }0 v% L% `2 W$ i$ b7 A$ S4 f5 {
// 将数据保存到B数据库的表中0 B/ K- w0 Y4 _- g
$sql = "INSERT INTO 表名 (姓名, 手机号码) VALUES ('$name', '$phone')";
7 O1 N- b  f: M9 L4 sif ($conn->query($sql) === TRUE) {2 V: i2 V2 z* b, v; Y9 j! c, A
$response = "保存成功";- H  e' @: @# W- V& ?# _7 a
} else {
  u( [9 O3 ~* f% N% @: v$response = "保存失败: " . $conn->error;3 F7 U: ~; q) q$ L" Y' U
}
' C! Y* e) k$ W4 J$ T# x: V+ O. \+ d( S! e2 f$ w1 i% Q; n
// 返回保存结果给前端页面( I* K* {% f2 p' a( w
echo $response;
+ e% y( P1 T- [}
% h- E0 }2 ~+ x' a- y! H, Z2 u9 d% H
3 ], ]' [3 Y( w5 N2 d$conn->close();5 g( s( N. l& ]/ q
```  J- k0 t# A) D  Q& p- O6 m

5 M3 K. e+ i& M& t' P, x4 s在前端uniapp页面中,你可以使用之前提到的示例代码,将表单数据发送到B数据库的保存接口,并实时回显保存结果。
5 q2 u- f8 h: T4 J" W; E5 u; N' y) d2 ?! `9 H& R% _0 N& Y: r
请注意,上述示例代码中的B数据库的连接信息和保存接口的URL需要根据实际情况进行修改。同时,根据B数据库的表结构,适当修改保存接口中的SQL语句和表名。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|通达产控投资 ( 粤ICP备2023021749号-1|粤公网安备 44030402006137号 )

GMT+8, 2025-10-11 02:29 , Processed in 0.068764 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表