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

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

[复制链接]

331

主题

511

回帖

3343

积分

管理员

积分
3343
QQ
发表于 2023-9-16 22:41:37 | 显示全部楼层 |阅读模式
一个wordpress网站W,连接了两个不同的mysql数据库,分别是A和B,A是wordpress安装时自带的,B是在另外一台服务器上的创建的,现在前端uniapp程序要调用B上的数据库进行查询和读写操作,请给出一段示例代码。* U; H+ g: u# K- w
: h  E2 r+ T: p! S
首先,你需要在uniapp程序中使用合适的方式连接到数据库B。以下是一个示例代码,使用uniapp的`request`方法发送HTTP请求到B的服务器上,然后进行数据库查询和读写操作。
2 {' F- y  p5 \$ X# o" p
& {) S, G! l) W6 d```javascript4 K; t, c& ^) F# j) M
// 在uniapp中调用B数据库的示例代码' F9 t7 w- p: F* B
) p8 R  E& Q6 O* u0 m
// 定义B数据库的服务器地址和端口号
$ _8 u, E: D4 ?; c2 yconst serverUrl = 'http://B服务器的地址:端口号';% s' x+ p2 e+ u, r3 V$ E& D
) k' ]+ a6 z& Z. \
// 查询操作  O( s# \) e' H* Z; O0 h
uni.request({5 g; R+ W0 Y4 q/ ^9 A2 N4 t9 a
url: serverUrl + '/query', // 在B服务器上定义的查询接口  k& N7 H* ?% m, z4 _+ q
method: 'GET',
5 ?8 g, m4 N& H) j6 N2 csuccess: function(res) {9 O" E/ I9 [7 Q; \% g( C
// 查询成功后的处理逻辑$ i- v% c6 p4 U% s; M6 ^; [% H
console.log(res.data); // 输出查询结果( L. w+ v" H! U! \
},) e+ N" Y, T. q( f/ V% A7 L8 v
fail: function(err) {' _6 [* n( \" C# T8 k. J+ r
// 查询失败后的处理逻辑
$ j6 D' v: s0 Q5 ~0 Z( }console.error(err);3 ^5 `  s7 N3 [* g+ c; G7 u; g  c
}
3 O2 P) f8 P6 h( C! J/ c});7 K3 c' o% b0 `" K2 Q

% a3 S# a/ d* {+ N//读写操作" E2 {5 K) E- U' Y
uni.request({' d0 x+ M# i( L' B* f4 P8 r
url: serverUrl + '/write', // 在B服务器上定义的写入接口2 E! h# ?2 B' t6 ]. y
method: 'POST',
' P7 K8 @# J) p, udata: {
! Q0 p) G7 U' c4 g- Z" I: L//传递的写入数据6 k/ L2 n; R" G, Q2 e# p
// 根据B数据库的接口定义,传递合适的参数; k  u+ R5 S% F, H/ g' P% [
},- I( _3 {6 i$ E
success: function(res) {
% U; X; C# ^1 D1 S// 写入成功后的处理逻辑2 I1 @& _: h# d. M" O: U
console.log(res.data); // 输出写入结果
. o; m7 }7 V0 _8 l- y6 Z2 m2 l' M},4 s' ^+ w5 }: |1 h7 L
fail: function(err) {
$ a% f- R2 b! @$ U// 写入失败后的处理逻辑
' ]8 G( e. H4 N. L9 f8 ~* ~" yconsole.error(err);
$ a+ k2 h6 i+ m3 a2 c1 D  E* J}# p. f* }9 B. ~
});
& \% w7 ^6 P# }( K```
& b& B0 i0 X6 j, S( Q! Y+ i+ b1 u2 ?, F+ ]0 o
请注意,上述代码中的`serverUrl`需要替换为实际的B数据库服务器的地址和端口号。同时,根据B数据库的接口定义,适当修改查询和写入操作的参数和数据。
$ Q/ \( V) R) |& h
回复

使用道具 举报

331

主题

511

回帖

3343

积分

管理员

积分
3343
QQ
 楼主| 发表于 2023-9-16 22:46:16 | 显示全部楼层
我在uniapp前端页面上有一个表单,分别有姓名和手机号码,需要保存到B数据库,同时把保存的结果无刷新实时地回显到前面页面上。
4 g" U3 f) s/ g
4 v5 D2 E$ }# ]( [3 @8 n9 u( X
2 j/ I/ D( }# g如果你想在uniapp的前端页面上保存表单数据到B数据库,并实时回显结果,那么与W网站的关系是通过B数据库进行数据交互。
& `; {: F$ s6 o0 [! Q5 c' y# @) @8 `- P
在这种情况下,你需要在B数据库的服务器上创建一个接口,用于接收前端页面发送的保存请求,并将数据保存到B数据库中。然后,将保存结果返回给前端页面,以便实时回显。
# _% N$ B6 E% P( a5 R- [4 D$ b  _7 X' n# n! h2 E' @, H
以下是一个示例代码,展示了如何在B数据库的服务器上创建一个保存接口:
* K  R, g4 n% I- k* I+ f: h0 Y: J! s
```php9 _5 t9 Y& I  e/ T; X
// 在B数据库服务器上创建保存接口的示例代码(使用PHP)
; c+ f% B+ N1 y* n  Q' ]
% R% j' s$ @. |5 C& z  r1 _// 连接到B数据库8 {/ R2 y6 Z0 ~) q
$servername = "B数据库的服务器地址";
# Q1 U0 C5 _9 L. [( Z$username = "B数据库的用户名";7 X! e" o* V; O8 G" l
$password = "B数据库的密码";
; E+ ]# x& q' Y- ?1 Q. q2 L$dbname = "B数据库的名称";
! ?) h; P" A: n. z
5 L" D( e8 z# j# O* I3 L2 ~: g5 v$conn = new mysqli($servername, $username, $password, $dbname);
- M+ E2 F( r" q' d# V$ U/ \6 kif ($conn->connect_error) {
) d1 `9 l  |/ F7 Q8 s4 Cdie("连接B数据库失败: " . $conn->connect_error);
( _7 Y1 h8 S* ?1 H' a4 B" O4 K}
4 ]# r' X/ H) L7 @$ i2 {* i1 m  K# Z+ U; P  {: T% J
//保存接口
# r5 t5 x. U3 F" H! Jif ($_SERVER["REQUEST_METHOD"] == "POST") {
9 s% J" s; ?* I3 g$name = $_POST["name"]; // 表单中的姓名字段
. T9 W0 s9 ^3 [/ H" Q$phone = $_POST["phone"]; // 表单中的手机号码字段, ~, ]9 g1 ~9 a! x9 ]& D
8 M6 F" y. i, t# y
// 将数据保存到B数据库的表中& m0 e! x$ W3 v$ K! b+ x9 j
$sql = "INSERT INTO 表名 (姓名, 手机号码) VALUES ('$name', '$phone')";
& \5 Z4 V; [! W# [1 @$ Z( ~! |if ($conn->query($sql) === TRUE) {
1 b% _  K# S9 d! A  J+ u* n( ]$response = "保存成功";  Y0 ~" \% ]- D5 d
} else {1 A2 E* d! @- Y/ b2 b; B  }" i
$response = "保存失败: " . $conn->error;
  D- _+ j+ T! C# r" G2 a. M, Y}
% s, `6 z, Q, r8 k, b) C+ M% D; ~
+ ]4 x: y1 Y* ~2 k* }2 k9 [5 k// 返回保存结果给前端页面/ M( N' N3 P8 |& p
echo $response;0 v0 g, p. d* K6 g' u% k' d2 z
}
- x7 Q' G1 O9 L) f% u$ n( x/ [* @/ p( B) h# W  l" {2 b
$conn->close();
! s$ R7 X& ]: U' M  C: q4 f  R```
9 {8 [- O; C# I( f) ?# C( Y
+ S; D( z) E+ Q3 {在前端uniapp页面中,你可以使用之前提到的示例代码,将表单数据发送到B数据库的保存接口,并实时回显保存结果。& a1 @- {! M5 K

+ ~# J" X% ^5 c* N0 C7 Z; o请注意,上述示例代码中的B数据库的连接信息和保存接口的URL需要根据实际情况进行修改。同时,根据B数据库的表结构,适当修改保存接口中的SQL语句和表名。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-10 00:30 , Processed in 0.078533 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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