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

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

[复制链接]

581

主题

706

回帖

4842

积分

管理员

积分
4842
QQ
发表于 2023-9-16 22:41:37 | 显示全部楼层 |阅读模式
一个wordpress网站W,连接了两个不同的mysql数据库,分别是A和B,A是wordpress安装时自带的,B是在另外一台服务器上的创建的,现在前端uniapp程序要调用B上的数据库进行查询和读写操作,请给出一段示例代码。
: ]" X1 l& @7 f5 Z. f# P* l! W
# T$ n6 @4 j) Y' Q* S首先,你需要在uniapp程序中使用合适的方式连接到数据库B。以下是一个示例代码,使用uniapp的`request`方法发送HTTP请求到B的服务器上,然后进行数据库查询和读写操作。: u6 X/ G0 v6 P2 Q3 l; ?

& q4 S" u3 B- s7 B/ I9 m1 A```javascript( d" ^  n/ J+ O0 w( r0 C9 W1 B7 p
// 在uniapp中调用B数据库的示例代码/ X. `# D$ |! n2 E( n
/ c8 R$ V+ B& t7 Q4 k
// 定义B数据库的服务器地址和端口号
6 ~- u: C! l4 z  u8 J# T4 b( N) Aconst serverUrl = 'http://B服务器的地址:端口号';# I! Z, u+ `% k

! @* Q, f# C, i$ m' b6 q8 _// 查询操作! r' J$ N' X8 L" t! ^
uni.request({/ U6 ?( B- t( H/ p# g
url: serverUrl + '/query', // 在B服务器上定义的查询接口
; v: I  y' z9 d9 ^+ B8 ?5 o0 h" Fmethod: 'GET',) Y& }& Z/ W6 a7 ?3 z
success: function(res) {- B& u2 n, I3 n7 s7 d( Z1 \- U8 n$ B
// 查询成功后的处理逻辑; _* D+ r) f* l3 S; H5 ~
console.log(res.data); // 输出查询结果% P6 f2 l! j6 D  C9 N  J# D/ x
},0 R2 a' K3 D' U7 Y4 e
fail: function(err) {
# D- [6 }- V/ i7 n8 w' Z// 查询失败后的处理逻辑9 @. X0 e* y6 I3 J3 b+ P
console.error(err);
: j2 R; i  h; S9 a5 i- v' S}: y( Y8 ]' `; O7 ^
});0 l; L3 J1 Y3 i# Y/ q

9 G5 L' H# T* }3 v  u) M//读写操作
5 Z" P8 I1 h9 j+ w  L7 vuni.request({4 s# T; ?, Q; _8 W
url: serverUrl + '/write', // 在B服务器上定义的写入接口  H9 x. K4 t4 P+ X4 \( B5 |
method: 'POST',
/ d$ O. [1 r: qdata: {
( S/ |( @6 J/ {7 j: S: z( m/ \//传递的写入数据6 l3 x) ?+ F5 y' L* y2 k* m
// 根据B数据库的接口定义,传递合适的参数
: [. f' h" k( A" W! _},1 [. V4 {/ I' s! {
success: function(res) {4 W% P6 s6 H$ f; K; N
// 写入成功后的处理逻辑) q! w( m- t% b
console.log(res.data); // 输出写入结果8 |) N5 h  A8 j
},7 k* [" r/ ~' e! U
fail: function(err) {, a, j# ]8 ^+ }" F8 ~* y, ~, B
// 写入失败后的处理逻辑9 y2 o' N6 a8 s4 ]( r
console.error(err);
- O# \: Z3 t0 m# T1 t( H# i}
' E* P9 s- P0 K9 J3 c});# u! ]; T" b7 i- v
```
5 \) k- a! k0 ?; @0 d" `; u3 U9 N3 Q" ?7 b* A1 H; ~
请注意,上述代码中的`serverUrl`需要替换为实际的B数据库服务器的地址和端口号。同时,根据B数据库的接口定义,适当修改查询和写入操作的参数和数据。
; P4 L8 H$ M: r$ j9 }
欢迎定制:13928122889
回复

使用道具 举报

581

主题

706

回帖

4842

积分

管理员

积分
4842
QQ
 楼主| 发表于 2023-9-16 22:46:16 | 显示全部楼层
我在uniapp前端页面上有一个表单,分别有姓名和手机号码,需要保存到B数据库,同时把保存的结果无刷新实时地回显到前面页面上。" \# k& _- o1 c5 f

- m- e+ ^" s  y- H4 }4 x9 J( a1 |6 q2 f
如果你想在uniapp的前端页面上保存表单数据到B数据库,并实时回显结果,那么与W网站的关系是通过B数据库进行数据交互。
) ], W" ?, X1 t9 J, P0 |& }2 t! L, ^1 a- u2 O, u$ m% s
在这种情况下,你需要在B数据库的服务器上创建一个接口,用于接收前端页面发送的保存请求,并将数据保存到B数据库中。然后,将保存结果返回给前端页面,以便实时回显。2 h; q, r8 _8 V$ @+ B0 v
) c" c/ z* d" B8 |
以下是一个示例代码,展示了如何在B数据库的服务器上创建一个保存接口:
" U3 {, c3 Q9 c. @& g5 j8 v6 q( E* i4 {3 y3 V4 @* w  d  m
```php
1 X9 W# O: e* V  a( _6 P( K// 在B数据库服务器上创建保存接口的示例代码(使用PHP)1 Q) Z) d; r! f3 t, G

9 ^' u1 c4 B2 S# r, m// 连接到B数据库
9 s6 k4 ^' ~% u) a0 p. Q* A5 G$servername = "B数据库的服务器地址";7 N- }% i. w8 l) y3 Q+ f* I
$username = "B数据库的用户名";3 |* K8 D9 G; Z- D; u0 W
$password = "B数据库的密码";
+ [6 c9 f* ~6 i: p- k( g  S* }( d$dbname = "B数据库的名称";7 l  C1 z" H6 y2 L

' ?, v3 J! |3 L6 {  u$conn = new mysqli($servername, $username, $password, $dbname);
+ Y3 s* E0 m) k1 A% I' ^# \if ($conn->connect_error) {& Q) j# P( Q- `  [# b- m& C" N3 t- A/ T
die("连接B数据库失败: " . $conn->connect_error);
0 x0 N1 O: m/ N6 g" K( L2 F- ]1 }}  Z9 _' B' _; x6 s
' g. O# W* V+ D- o( Y; F
//保存接口
7 C1 _+ V1 s2 fif ($_SERVER["REQUEST_METHOD"] == "POST") {
+ D: l4 g8 X  b+ w% ?0 t( R$name = $_POST["name"]; // 表单中的姓名字段
# j: d) k" L/ n8 m: u# `$phone = $_POST["phone"]; // 表单中的手机号码字段
. T; W# Z8 R! s9 p! s5 |5 U' `3 H  Q# @1 g% Q
// 将数据保存到B数据库的表中1 K5 L4 ]0 ?( E2 X+ v
$sql = "INSERT INTO 表名 (姓名, 手机号码) VALUES ('$name', '$phone')";, X0 D: _5 N+ b: h4 }8 x$ M% c4 h
if ($conn->query($sql) === TRUE) {
8 |* `7 i5 N: X" }1 f" ?' U: S$response = "保存成功";
, s' R0 l9 x6 E} else {. F3 J* J( X. w. t4 K
$response = "保存失败: " . $conn->error;
& f& n3 O- u0 x5 i* P" a}# b1 y, M9 B7 o! Q. P; G
, \# o+ o; Z; }  o# B) i' K9 u2 t% m
// 返回保存结果给前端页面% u, }; Y/ Y8 x( ^' c$ A6 J/ F
echo $response;8 f5 X/ V4 `9 [0 X: k
}
6 h8 O8 Y, w0 O" J* A$ f3 ?7 I3 Y- R2 N+ o; a( f7 ]0 C6 q
$conn->close();
" k8 B' H3 f( L: o* f```; _0 `, ]5 U! f5 c- j' {

' f- K2 N) I/ s  W) z3 G5 D/ }$ r在前端uniapp页面中,你可以使用之前提到的示例代码,将表单数据发送到B数据库的保存接口,并实时回显保存结果。
7 \% Z: s$ i5 n) I' k0 P. C: z/ [  R1 W  B
请注意,上述示例代码中的B数据库的连接信息和保存接口的URL需要根据实际情况进行修改。同时,根据B数据库的表结构,适当修改保存接口中的SQL语句和表名。
欢迎定制:13928122889
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-8-2 06:55 , Processed in 0.014220 second(s), 4 queries , Redis On.

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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