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

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

[复制链接]

430

主题

615

回帖

4155

积分

管理员

积分
4155
QQ
发表于 2023-9-16 22:41:37 | 显示全部楼层 |阅读模式
一个wordpress网站W,连接了两个不同的mysql数据库,分别是A和B,A是wordpress安装时自带的,B是在另外一台服务器上的创建的,现在前端uniapp程序要调用B上的数据库进行查询和读写操作,请给出一段示例代码。
7 d1 I9 d% [5 v  [; ~2 A( T& |$ C6 G& X) S6 w% p
首先,你需要在uniapp程序中使用合适的方式连接到数据库B。以下是一个示例代码,使用uniapp的`request`方法发送HTTP请求到B的服务器上,然后进行数据库查询和读写操作。3 S8 x4 ]7 T8 t  p- P8 r" J

2 S5 {8 [: H2 L# e0 N3 f+ t% E```javascript
+ @) k) r6 t8 E// 在uniapp中调用B数据库的示例代码
% n4 s* W1 F* D' S* y4 K' j9 e4 S& h7 [
// 定义B数据库的服务器地址和端口号. Q1 u% }$ O# J4 E' F
const serverUrl = 'http://B服务器的地址:端口号';7 T% ~# s* O4 w9 F: \

( p0 S4 @- d, F# v5 D// 查询操作' b5 X2 z$ e7 w/ K! r' [+ s
uni.request({0 }, Z% m! ?/ c. z5 Y: ?
url: serverUrl + '/query', // 在B服务器上定义的查询接口
6 {8 V" k1 [, K1 ]6 p* B9 w& M+ W6 Amethod: 'GET',8 q- Y- L: I: B; }7 j5 I
success: function(res) {# m6 u: I! q5 k9 `, p3 [
// 查询成功后的处理逻辑, ^* ?  `7 k+ V$ ^) ]
console.log(res.data); // 输出查询结果
- Y9 E! e2 U  o) s; A% k},) k8 W2 k/ i: _0 T' s
fail: function(err) {! c) c( f0 R( s! N9 b% z7 }1 [8 I
// 查询失败后的处理逻辑# b, U+ n& q3 I2 @. B' ~
console.error(err);
; R, g( G* j5 U/ Y}
; W; \' `3 S1 r) z3 T$ ^5 _});
' X! u0 c  J2 b$ L5 S- [- T( e& @6 w. u# M+ \* F
//读写操作# G9 ~9 {7 O7 H) X# ?6 L
uni.request({
1 c0 B9 b3 }* nurl: serverUrl + '/write', // 在B服务器上定义的写入接口
  O2 z0 y" {2 @  t3 @& cmethod: 'POST',
* Y: ]6 z3 z8 P6 z2 b: _5 d' gdata: {3 D2 F2 S$ E1 ~$ }: T6 j) q3 E  Y( ~
//传递的写入数据! W- N' D9 M3 U
// 根据B数据库的接口定义,传递合适的参数
6 {% A9 C/ G& _) G3 F  z$ U' H},5 r" k9 D3 r; |4 Q( @( ]1 p+ [: r( }- ?
success: function(res) {  w+ d# F5 g4 z2 j# N4 [* |. q
// 写入成功后的处理逻辑
" }5 S) E" N% @$ l. o3 N- U9 H: ?4 hconsole.log(res.data); // 输出写入结果% M. s# q% ?' c8 O7 a1 e7 s3 c9 W
},( u/ k5 C- R* Q, i# z
fail: function(err) {
/ Y5 n! b* o& j2 k5 P// 写入失败后的处理逻辑$ c% |7 r5 D( R( W
console.error(err);
! Q6 l& ~2 v6 l6 @+ S6 A: Y}
; D2 W  D3 @& P});
3 p: Q/ h* H4 x" B( |```
1 Y5 h+ C: ]" B2 D  X
2 z8 d2 m# M5 s1 B0 O2 W  a$ V请注意,上述代码中的`serverUrl`需要替换为实际的B数据库服务器的地址和端口号。同时,根据B数据库的接口定义,适当修改查询和写入操作的参数和数据。
7 m* @; t  `% N: r+ Z* |, ]
回复

使用道具 举报

430

主题

615

回帖

4155

积分

管理员

积分
4155
QQ
 楼主| 发表于 2023-9-16 22:46:16 | 显示全部楼层
我在uniapp前端页面上有一个表单,分别有姓名和手机号码,需要保存到B数据库,同时把保存的结果无刷新实时地回显到前面页面上。+ z6 T+ b1 Q) o: L
) l2 n7 i# ^, ^3 M5 E
& }( G+ R6 s5 l% Q/ p# L- ]' l- {
如果你想在uniapp的前端页面上保存表单数据到B数据库,并实时回显结果,那么与W网站的关系是通过B数据库进行数据交互。6 o: S* Z# u8 ]. T1 w; L* @
) i- N0 L$ l4 e3 `& c2 u
在这种情况下,你需要在B数据库的服务器上创建一个接口,用于接收前端页面发送的保存请求,并将数据保存到B数据库中。然后,将保存结果返回给前端页面,以便实时回显。. Q1 ~4 q1 }5 b$ u) W

5 f$ q% A  K9 h. u9 t; S以下是一个示例代码,展示了如何在B数据库的服务器上创建一个保存接口:* o- y% {  H  _6 E( q
7 z9 e  ^5 p9 s3 t4 t
```php" Z6 Y/ D" A5 K9 I; x2 h9 i
// 在B数据库服务器上创建保存接口的示例代码(使用PHP)
- {4 x; \/ o: S: P( Y
; v+ B. L. |" Q% z, L/ _( A' @1 K; L// 连接到B数据库. f" C7 i4 R- G0 O8 x2 [" X1 U2 C
$servername = "B数据库的服务器地址";
( z9 `7 a% X$ y$ m4 N1 V, b$username = "B数据库的用户名";
& m/ ?$ I6 B( V+ H) f7 G# a9 g$password = "B数据库的密码";; }- C2 _4 [. q9 ]5 P
$dbname = "B数据库的名称";
8 a/ X5 t: D4 J
; h4 l: K% f3 N; P$conn = new mysqli($servername, $username, $password, $dbname);
1 v6 j4 h% l4 h5 O0 A. tif ($conn->connect_error) {+ i3 y  B. u9 |0 L" }; N. U
die("连接B数据库失败: " . $conn->connect_error);0 |9 I5 p" p: x' e  P
}
) W% T' G  A3 y, ]1 H9 M* g1 _& Z. [6 B1 P- c' V
//保存接口% t) |- M% ^$ ^
if ($_SERVER["REQUEST_METHOD"] == "POST") {
: j2 R! h# S: o2 Q6 Z$name = $_POST["name"]; // 表单中的姓名字段
3 m+ }2 H# L. T$phone = $_POST["phone"]; // 表单中的手机号码字段" Z% E9 f6 N  h, ]6 e

( f5 X: @" l) @2 {// 将数据保存到B数据库的表中) P  ^8 q1 A' F; F$ g
$sql = "INSERT INTO 表名 (姓名, 手机号码) VALUES ('$name', '$phone')";
- ?, Q1 t* E! `if ($conn->query($sql) === TRUE) {
: y/ O5 Z) t4 ]8 d2 V+ c; T$response = "保存成功";& m& L! m3 p8 F2 w* Y/ m
} else {
. X7 D8 u9 u8 d  }1 j% f/ @$response = "保存失败: " . $conn->error;6 J1 l1 H+ f# V, C( K+ G; c0 }
}' t% O" W- C' o! ~( b; V
" R7 n0 X& y' N  d
// 返回保存结果给前端页面+ ]7 |9 k  L; ?- @
echo $response;
4 d1 q- y1 e8 Q% N  j6 e5 J. I$ y* w}
0 d; ?  q" c2 O& N( i2 H# h
& o0 p4 T% ]3 U$conn->close();
) `% I0 q; ~1 N8 m; L; O```5 d8 D2 E* U3 o! o+ ?' C

" H/ p+ o3 J- W0 S1 J# c& M在前端uniapp页面中,你可以使用之前提到的示例代码,将表单数据发送到B数据库的保存接口,并实时回显保存结果。
! m& I; m$ r' v: @* r9 W# E2 ?) W8 [5 K, W( Q' O
请注意,上述示例代码中的B数据库的连接信息和保存接口的URL需要根据实际情况进行修改。同时,根据B数据库的表结构,适当修改保存接口中的SQL语句和表名。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-5-9 20:24 , Processed in 0.019644 second(s), 21 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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