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

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

[复制链接]

527

主题

676

回帖

4608

积分

管理员

积分
4608
QQ
发表于 2023-9-16 22:41:37 | 显示全部楼层 |阅读模式
一个wordpress网站W,连接了两个不同的mysql数据库,分别是A和B,A是wordpress安装时自带的,B是在另外一台服务器上的创建的,现在前端uniapp程序要调用B上的数据库进行查询和读写操作,请给出一段示例代码。
* x  ~# r+ F9 d) a) }- J5 q' u
! g" B8 Z) A: @  m! G1 w首先,你需要在uniapp程序中使用合适的方式连接到数据库B。以下是一个示例代码,使用uniapp的`request`方法发送HTTP请求到B的服务器上,然后进行数据库查询和读写操作。" p3 y( P( {/ |* o8 G: u1 S
3 d3 t' O1 W, Q9 P: ^* @+ a2 A
```javascript
: P/ X5 a. t0 F0 ]0 L// 在uniapp中调用B数据库的示例代码
2 @% r& y- t) ^8 C$ d# V# J! L2 T- E
// 定义B数据库的服务器地址和端口号- `+ D# E/ k% Z! k0 y  F$ j: k- q* D
const serverUrl = 'http://B服务器的地址:端口号';
& M, O0 b  l2 f' h. s) J$ n! p9 }1 s* k6 Q7 W; d. w3 t& p( V
// 查询操作
6 P% g0 {% l  Z/ ]uni.request({
2 |& K! }) V; J4 ]' D# H# h( S0 jurl: serverUrl + '/query', // 在B服务器上定义的查询接口
% V+ ]) Z7 c; emethod: 'GET',9 g; o! f) h' X+ c% o+ x
success: function(res) {' q% f6 \- R3 B7 B& o, f8 N. G
// 查询成功后的处理逻辑
/ ]  D8 ^- d& Qconsole.log(res.data); // 输出查询结果
$ o6 ~% B2 S6 F5 E" r2 O3 p},
* ]* W2 H- @' F# M% afail: function(err) {0 {  q5 D$ m# W  ?! q+ c
// 查询失败后的处理逻辑
) N7 S/ Q4 @( H/ _: Z3 P1 hconsole.error(err);
: y3 M0 i# X) C) Q# F- f: i+ E}
  J2 U( o0 i1 @. h8 ?' q});
/ [' t8 E3 F/ u' Q
( I# |4 i7 |2 y# Y2 x) z* }//读写操作
$ M% p* L; z* \% k* _9 [uni.request({
1 p' m% O- T7 W+ }2 u8 k3 a; K: Rurl: serverUrl + '/write', // 在B服务器上定义的写入接口( x7 g. Y' C2 X* ^
method: 'POST',
0 Q9 b5 _: f2 M+ w$ |; Qdata: {
) l. u- W; }. T//传递的写入数据5 o- b# f9 d8 O1 Y+ K9 U1 n& t
// 根据B数据库的接口定义,传递合适的参数
" Y2 y. p; j' O) o5 a},
# j5 e. f+ R" u* Esuccess: function(res) {
3 O& i) b5 _6 \1 H// 写入成功后的处理逻辑
7 T0 o$ L* H3 e. U# e+ d0 i2 ]4 `, Bconsole.log(res.data); // 输出写入结果
/ f( u6 V  G( x( [' b+ J},# |2 y5 S7 S$ p5 Q* g0 n
fail: function(err) {- M9 h$ ~! L; u/ ~4 F
// 写入失败后的处理逻辑
- Q8 _9 U( H! {9 s1 `4 ^- {# o9 hconsole.error(err);. [! q/ L3 F: j. _. J6 E
}5 C/ T# F' C& o4 w* G: I
});+ r1 b9 c) N, `4 f( e+ r
```( V- Q2 A8 g' c/ ?
# L2 d8 E6 B0 m7 G
请注意,上述代码中的`serverUrl`需要替换为实际的B数据库服务器的地址和端口号。同时,根据B数据库的接口定义,适当修改查询和写入操作的参数和数据。
1 F; v* @7 p& e+ M
欢迎定制:13928122889
回复

使用道具 举报

527

主题

676

回帖

4608

积分

管理员

积分
4608
QQ
 楼主| 发表于 2023-9-16 22:46:16 | 显示全部楼层
我在uniapp前端页面上有一个表单,分别有姓名和手机号码,需要保存到B数据库,同时把保存的结果无刷新实时地回显到前面页面上。# W( Q/ `$ P. l8 `7 Y

8 j: h* V0 j  B; V- f# d# U1 N/ k4 g+ f- ]) h$ G1 R
如果你想在uniapp的前端页面上保存表单数据到B数据库,并实时回显结果,那么与W网站的关系是通过B数据库进行数据交互。7 L- b1 f2 \1 ?, z
0 \: P9 K* L8 O$ h7 W
在这种情况下,你需要在B数据库的服务器上创建一个接口,用于接收前端页面发送的保存请求,并将数据保存到B数据库中。然后,将保存结果返回给前端页面,以便实时回显。
! Q) g" ~( P: L
3 h6 M$ x- ^3 f, b以下是一个示例代码,展示了如何在B数据库的服务器上创建一个保存接口:
  M4 J! ~, ]% c3 F# o: S. @  t) @# k3 A$ _( W
```php
; G* G  {: V7 j9 @% W* O// 在B数据库服务器上创建保存接口的示例代码(使用PHP)! F. t) I- A# n1 j. _6 B, S
+ c1 Y+ ]# ?# }. `4 m
// 连接到B数据库8 @: Y4 a. e, W1 U; R2 |* p
$servername = "B数据库的服务器地址";3 H* a% Y1 f4 m( }" x. x5 q4 |/ G8 f
$username = "B数据库的用户名";, F) ^- R; u1 x/ ~8 b( ]& M+ _0 g
$password = "B数据库的密码";
1 }( R% `6 Z+ n9 s5 ]# }$dbname = "B数据库的名称";
! ^' u4 D* `: D, Q( o8 I5 q' C, _! d, D5 Q# u$ l! ?
$conn = new mysqli($servername, $username, $password, $dbname);
8 l3 v% ]2 t" X2 V* N5 u5 ]if ($conn->connect_error) {
8 C/ ?, B5 y7 m, e: G1 Vdie("连接B数据库失败: " . $conn->connect_error);
. Q7 B/ l9 e. Y4 p4 e7 S}+ h5 P5 I4 I# r4 x4 X- \) o4 d
6 y$ W: P% [" n4 E+ H" A; E
//保存接口
+ u* L8 e1 |. |if ($_SERVER["REQUEST_METHOD"] == "POST") {
( ?7 Q4 Q7 Z; o: B& n5 s7 P$name = $_POST["name"]; // 表单中的姓名字段2 ~: \7 y/ A# U9 B7 o
$phone = $_POST["phone"]; // 表单中的手机号码字段( P; g4 u3 z- ^4 W0 Q9 H8 V

6 k& D% J1 w" R8 E// 将数据保存到B数据库的表中
( L% {' e0 f6 `0 Z  E! l# J' q$sql = "INSERT INTO 表名 (姓名, 手机号码) VALUES ('$name', '$phone')";9 {; X+ c$ u7 G, q' m+ ?
if ($conn->query($sql) === TRUE) {
, j; U, d# A# i4 U2 j5 W6 F$response = "保存成功";) H* `0 ^0 a7 A1 k: ^/ X6 g5 K
} else {
& i* z  b+ x. L6 ?1 {$response = "保存失败: " . $conn->error;+ n' i9 Y" j) l; ~+ M) B
}  l" j4 J/ u$ K+ F( Q' D& K' q

& F. O- P, s+ I. Q( [, A  r// 返回保存结果给前端页面4 h# ~8 v/ h5 h& f
echo $response;" A1 \/ ?) G/ `7 e4 }; }
}" S6 v5 ^9 c$ R1 w5 Q& t8 ~6 F6 R9 G
- Q. O& Y. @9 g# Z. F
$conn->close();
% m# e9 O4 s, d* E/ C```
! [1 q. {) R/ [  D! c5 F" T
$ b; L5 u1 {/ B- N' S- [在前端uniapp页面中,你可以使用之前提到的示例代码,将表单数据发送到B数据库的保存接口,并实时回显保存结果。6 T1 h) r" V' J' e/ @3 j

$ c& A4 ~9 A4 U请注意,上述示例代码中的B数据库的连接信息和保存接口的URL需要根据实际情况进行修改。同时,根据B数据库的表结构,适当修改保存接口中的SQL语句和表名。
欢迎定制:13928122889
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-24 06:12 , Processed in 0.016146 second(s), 3 queries , Redis On.

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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