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

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

[复制链接]

491

主题

662

回帖

4460

积分

管理员

积分
4460
QQ
发表于 2023-9-16 22:41:37 | 显示全部楼层 |阅读模式
一个wordpress网站W,连接了两个不同的mysql数据库,分别是A和B,A是wordpress安装时自带的,B是在另外一台服务器上的创建的,现在前端uniapp程序要调用B上的数据库进行查询和读写操作,请给出一段示例代码。
/ Z1 B+ g& _* S1 n% x& y
( t6 s7 o$ d  B/ w( u4 }2 I3 v首先,你需要在uniapp程序中使用合适的方式连接到数据库B。以下是一个示例代码,使用uniapp的`request`方法发送HTTP请求到B的服务器上,然后进行数据库查询和读写操作。# B) X! Q5 t$ X9 _

! U( a: [3 b& M* u3 }  N```javascript  _6 W  {! c/ m& ~) b
// 在uniapp中调用B数据库的示例代码
% }) d1 g1 y' j! A$ t$ W
6 c: e, m9 ?/ n4 Z. _+ L// 定义B数据库的服务器地址和端口号% N0 m  v  m' a+ U
const serverUrl = 'http://B服务器的地址:端口号';1 U' c6 U& B1 z3 y6 B

+ ^' j) D3 d' G* O7 q& y6 ]// 查询操作" b4 l& U4 V+ q' A0 \
uni.request({/ b& k( f/ y7 w4 ]1 P& ^- X7 t! e$ U
url: serverUrl + '/query', // 在B服务器上定义的查询接口, l$ G5 v+ v, E; T& n) W: L
method: 'GET',
7 ~' I7 Q  F* @success: function(res) {- i3 x. p5 \4 ^9 w3 f
// 查询成功后的处理逻辑
7 F& F& N, e7 {$ b( iconsole.log(res.data); // 输出查询结果' R2 ~: f7 F* @2 G
},% q& Q" t! l: L% X- {+ k/ T" Y& _/ Z
fail: function(err) {) \0 |1 P( ^2 R
// 查询失败后的处理逻辑9 ^' J5 o1 x7 `5 @! o
console.error(err);) K/ x" w- m# N# x
}' L- F4 o% L, b) X9 D
});
# i  L: D0 T, I/ s/ C& b  p; T2 l2 `# U  h1 C
//读写操作
* F9 A6 o3 \+ v: ?uni.request({
; c9 k$ T0 a" O% E8 }# iurl: serverUrl + '/write', // 在B服务器上定义的写入接口
+ d# C8 U0 U9 w/ kmethod: 'POST',  `. ~0 A6 B& G7 f% U+ H$ Z
data: {) l! m7 }9 \. @4 ?  @
//传递的写入数据
3 Z4 O6 V% Z8 N5 \! m// 根据B数据库的接口定义,传递合适的参数: d' p4 M8 U  R/ |
},  o5 @1 W/ i0 L
success: function(res) {4 {* y0 F; ]2 M
// 写入成功后的处理逻辑# A9 }1 f4 W+ ]
console.log(res.data); // 输出写入结果
: f0 C2 m. |! n; v5 _* c- Q},
% E5 Z0 C5 |; s. H) nfail: function(err) {3 X+ @# i/ ]9 G. s
// 写入失败后的处理逻辑& C7 J8 m' d" A' F% C! O( S- ~
console.error(err);# _  B" ~, V, B: \( ~, [
}
* q+ s) c1 k$ Z  K2 I});
( r% @, f) w; ]0 `& o```
+ |/ X+ r$ p, y  M% N& G9 i
/ Q& O" o3 \  Y  j7 R请注意,上述代码中的`serverUrl`需要替换为实际的B数据库服务器的地址和端口号。同时,根据B数据库的接口定义,适当修改查询和写入操作的参数和数据。! s0 |1 T( z! x, T# K9 M
欢迎定制:13928122889
回复

使用道具 举报

491

主题

662

回帖

4460

积分

管理员

积分
4460
QQ
 楼主| 发表于 2023-9-16 22:46:16 | 显示全部楼层
我在uniapp前端页面上有一个表单,分别有姓名和手机号码,需要保存到B数据库,同时把保存的结果无刷新实时地回显到前面页面上。
& ~( ^- |. v2 b9 J  F& d# Z+ `$ H  |$ k
5 }; o2 [: h$ Z$ O& D! C
如果你想在uniapp的前端页面上保存表单数据到B数据库,并实时回显结果,那么与W网站的关系是通过B数据库进行数据交互。
& g$ A' k8 g/ s+ F. k2 a0 t5 H, H7 t6 L) I6 O
在这种情况下,你需要在B数据库的服务器上创建一个接口,用于接收前端页面发送的保存请求,并将数据保存到B数据库中。然后,将保存结果返回给前端页面,以便实时回显。
% Z  S" J+ R+ I5 ^" @. \/ G
) b4 K4 I8 D' J: f; `( a以下是一个示例代码,展示了如何在B数据库的服务器上创建一个保存接口:' p0 F3 X8 r! C6 V7 k' i
- {$ l4 G0 G2 g0 p5 i1 ]
```php
6 U7 o, o1 t' Y2 z& J2 x, S% ~, U% k// 在B数据库服务器上创建保存接口的示例代码(使用PHP)
) p5 X, S( L# B8 {# U& r' v, z7 L. n6 v0 ^) _( p0 \- a- H/ d
// 连接到B数据库( _* M3 N4 _- {+ e  Z
$servername = "B数据库的服务器地址";
4 N) U" r7 Q* y. ]! P$username = "B数据库的用户名";, [6 w5 p% {% s! X/ d
$password = "B数据库的密码";
; n+ O% p, L0 E6 {$dbname = "B数据库的名称";
! `# y  l8 B9 D; m* O; H. w2 Q+ Z, I% @$ \8 Q6 ^8 o5 P1 \1 x6 B) _
$conn = new mysqli($servername, $username, $password, $dbname);
" F2 L$ ~  D7 }4 q6 z/ Cif ($conn->connect_error) {
, \% X9 N2 E: y) s- Wdie("连接B数据库失败: " . $conn->connect_error);
# E) X1 N  d" V& l% S* W: I* E* Q}
- X3 a. @3 g4 \- c, f+ u
4 B% [: L3 \- P$ E$ I3 w//保存接口
) T9 O: A6 x! F0 L6 b$ {; Vif ($_SERVER["REQUEST_METHOD"] == "POST") {( ^) E; S7 _1 f& P% `' ?$ d2 w
$name = $_POST["name"]; // 表单中的姓名字段# m6 t: K! L. Y1 k: U# h; k) h
$phone = $_POST["phone"]; // 表单中的手机号码字段
9 ~1 M4 q# u& a3 k/ o& i8 P* V  W7 k7 b- Q; J- ]3 o8 l
// 将数据保存到B数据库的表中
, i" D" h% B8 ^6 Y$sql = "INSERT INTO 表名 (姓名, 手机号码) VALUES ('$name', '$phone')";
$ d( t7 r; p) |' p) e3 @; g! wif ($conn->query($sql) === TRUE) {
7 S- G. y2 i  ^, g2 E$response = "保存成功";& L0 B$ Z* _, |$ o1 y9 Y! X; o
} else {6 @. b2 G4 D9 y/ G' h2 v
$response = "保存失败: " . $conn->error;
9 {) A0 F* r# C( z}
8 m+ l) @, c3 `# m1 h6 z4 L! `
9 v; {$ r! [; C4 s. Y6 c3 S' {// 返回保存结果给前端页面
0 W# ?8 R/ G9 h/ q  `  q( Jecho $response;
$ _# i4 y- H) ?# J, U}+ s. ~- \- v: x+ ?

- x* e0 C% k- Y$ P$conn->close();: f% V' W7 A6 r5 U. C
```
3 ?; T2 i6 A  M. L: o5 V2 a2 ], `
3 Y' a! D! r+ l9 A- t" n在前端uniapp页面中,你可以使用之前提到的示例代码,将表单数据发送到B数据库的保存接口,并实时回显保存结果。
4 _2 _5 v( B- r% `( [/ c4 z' \
0 ^5 X) K3 d! W$ ^4 h请注意,上述示例代码中的B数据库的连接信息和保存接口的URL需要根据实际情况进行修改。同时,根据B数据库的表结构,适当修改保存接口中的SQL语句和表名。
欢迎定制:13928122889
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|通达创业无忧交流社区 ( 粤ICP备2023021749号|粤公网安备 44030402006137号 )

GMT+8, 2026-6-4 00:21 , Processed in 0.021562 second(s), 20 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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