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

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

[复制链接]

524

主题

676

回帖

4597

积分

管理员

积分
4597
QQ
发表于 2023-9-16 22:41:37 | 显示全部楼层 |阅读模式
一个wordpress网站W,连接了两个不同的mysql数据库,分别是A和B,A是wordpress安装时自带的,B是在另外一台服务器上的创建的,现在前端uniapp程序要调用B上的数据库进行查询和读写操作,请给出一段示例代码。0 r0 Q1 p# Z0 {% K2 c! y; b! K$ X
& e& _; b! Z" h; k2 A; h: _
首先,你需要在uniapp程序中使用合适的方式连接到数据库B。以下是一个示例代码,使用uniapp的`request`方法发送HTTP请求到B的服务器上,然后进行数据库查询和读写操作。% f) f8 j* {4 Y9 U# D' e

, }& M- |$ S3 c8 I```javascript
4 D( F, F8 E8 W9 W5 P3 }* W/ o// 在uniapp中调用B数据库的示例代码
  M; u  t* j+ t+ e. \5 F0 T( ^
4 h' R* |# p$ j, ^2 n// 定义B数据库的服务器地址和端口号  c4 q0 x# R. V
const serverUrl = 'http://B服务器的地址:端口号';
  m$ d5 ?+ P& T, N' S" x
+ w# j9 e2 t4 o' {3 I// 查询操作
& d5 r. y$ }5 u$ S) Tuni.request({
; n6 a8 i  _9 E5 x# u! murl: serverUrl + '/query', // 在B服务器上定义的查询接口7 U7 p$ d( B; m! h
method: 'GET',8 {  @( ~9 T2 \& K" L. N
success: function(res) {
- v* e+ _4 b7 p  p4 H// 查询成功后的处理逻辑
7 l' c5 _; y! d; g; b+ {console.log(res.data); // 输出查询结果8 }# s) i& F- G* ]6 ?7 [; F
},6 D; N6 U: V& w+ [! v2 y/ m/ J9 U
fail: function(err) {
% q, H* w! ~$ m! g2 j) J// 查询失败后的处理逻辑2 P3 m+ a) j1 I- S8 K8 |. k
console.error(err);
6 H" K3 k# d, m7 L0 }, |* L% a. O, }}0 }/ R5 e" Z; c0 d  g4 T
});
9 K1 E! M! A2 H; d9 C. Q( u' Q7 X8 h. R5 P
//读写操作
, s# A( R8 ^# ^' G1 q7 Zuni.request({
; {4 z2 r9 g* M5 N3 {2 vurl: serverUrl + '/write', // 在B服务器上定义的写入接口
' y" J! t. ~& d6 _+ omethod: 'POST',  W  w* |0 D1 W5 r2 ]6 ~
data: {
5 z" X* ^: m2 V  L2 m//传递的写入数据
! k2 V* n; R: a" z2 ~8 Z* x" U// 根据B数据库的接口定义,传递合适的参数" o6 e8 o0 j0 |6 ?& U7 H1 `3 ?! ^
},
, T* N+ f% R% H; Tsuccess: function(res) {% v# H+ K$ M7 W$ G
// 写入成功后的处理逻辑
& m8 k  V/ ^- F! E1 c4 Uconsole.log(res.data); // 输出写入结果
. e$ Z1 B3 h% W+ Q: W},
6 d1 F4 f% e- j, xfail: function(err) {
" |" h( w- S, Z  q! U* m4 Q// 写入失败后的处理逻辑
) n9 i4 M- D( D* u$ s4 uconsole.error(err);
( n0 z/ L. f6 C5 S! ]4 Z) v7 |, h0 ?) r}5 c3 ?' Q! O& z- X2 A) @1 p
});
) Y" \3 ~$ B4 D$ C) ~$ O: D```' r0 L2 J- C& m( ?5 Z' h9 ~
, C4 u2 J4 D# d  E
请注意,上述代码中的`serverUrl`需要替换为实际的B数据库服务器的地址和端口号。同时,根据B数据库的接口定义,适当修改查询和写入操作的参数和数据。$ G  T6 E2 A% `- _/ g
欢迎定制:13928122889
回复

使用道具 举报

524

主题

676

回帖

4597

积分

管理员

积分
4597
QQ
 楼主| 发表于 2023-9-16 22:46:16 | 显示全部楼层
我在uniapp前端页面上有一个表单,分别有姓名和手机号码,需要保存到B数据库,同时把保存的结果无刷新实时地回显到前面页面上。- ]* S5 ~7 x7 t/ C2 S- ?: K
; x, @( i! U3 e
( O# Y. q* ?7 K8 Q. y) ^4 \
如果你想在uniapp的前端页面上保存表单数据到B数据库,并实时回显结果,那么与W网站的关系是通过B数据库进行数据交互。: C! b2 E" Z/ M' y9 l, V
. }' b' u( [8 V# ~; x! c" l( U6 Y
在这种情况下,你需要在B数据库的服务器上创建一个接口,用于接收前端页面发送的保存请求,并将数据保存到B数据库中。然后,将保存结果返回给前端页面,以便实时回显。
- F+ N7 t. o/ ^7 Z% |7 S  }) u1 R- _! b3 s) w. E
以下是一个示例代码,展示了如何在B数据库的服务器上创建一个保存接口:( [  H5 c4 i! W9 v3 A4 ~
' B" I  ?2 ^) Y/ v
```php
1 K  S* \! o5 v' R/ O! x9 _// 在B数据库服务器上创建保存接口的示例代码(使用PHP)
: @  R7 ]; x/ G5 H, O& @, D" b7 _$ I9 B; u; R8 e  k
// 连接到B数据库
- `% ?9 i' ?7 e& l0 E1 @$servername = "B数据库的服务器地址";
6 t& ]3 p$ m+ v" m4 W$username = "B数据库的用户名";
7 P; p" P/ F, h$ m( F! L& ^$password = "B数据库的密码";
8 B- Y1 n9 }7 ]! ]0 E/ \$dbname = "B数据库的名称";' R5 i. ^8 g% ?

* ]; ]4 h" |) |% ~5 [$conn = new mysqli($servername, $username, $password, $dbname);
6 N6 m/ l- Q1 o# B; Q& z& Y/ Dif ($conn->connect_error) {
$ h0 y* K; r1 T3 ldie("连接B数据库失败: " . $conn->connect_error);
6 b" b% m4 M/ H! e5 s& @}' H8 ]: t& s& P

, S& r' E; _. y/ T1 q9 r( ~5 M//保存接口( m7 g) [/ J* h* h
if ($_SERVER["REQUEST_METHOD"] == "POST") {
, b: T2 B' w$ M- R. c$name = $_POST["name"]; // 表单中的姓名字段
. h' @& B7 t  a$phone = $_POST["phone"]; // 表单中的手机号码字段
1 M; W! d( C0 L) t" G% Q0 b- @$ M
/ d! t* |1 }+ \6 Y8 j+ E3 \' N// 将数据保存到B数据库的表中. f$ V8 A4 I( }+ o) r+ |( b
$sql = "INSERT INTO 表名 (姓名, 手机号码) VALUES ('$name', '$phone')";; c' m& h$ D/ J1 u/ o$ w
if ($conn->query($sql) === TRUE) {7 R' K( A, l- N2 L: z4 c. J
$response = "保存成功";* U4 T. b, e5 w* S) G
} else {
- ~$ h) P6 W6 @' O# m# q: P$response = "保存失败: " . $conn->error;/ k3 B  K+ L4 C/ O
}7 `! V; u5 n  q" N
6 E% [4 F* \( G9 v3 L
// 返回保存结果给前端页面; y3 b& B( Y# {( x+ @" C$ m
echo $response;! _) W; U& [3 t( H+ x/ O
}, A) M& i; t1 x8 C  w/ R0 P: ]/ S
! z2 R1 B7 j+ r, }) P! R
$conn->close();1 y6 C9 a8 ^" w* n+ H  ~9 k0 U
```
! U7 i/ W' {1 f, M! F$ Z) f7 u, E! ^* C$ p1 T2 F; t! }
在前端uniapp页面中,你可以使用之前提到的示例代码,将表单数据发送到B数据库的保存接口,并实时回显保存结果。4 I7 r9 ?& e9 |5 B; R

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-18 20:09 , Processed in 0.017263 second(s), 3 queries , Redis On.

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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