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

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

[复制链接]

328

主题

499

回帖

3260

积分

管理员

积分
3260
QQ
发表于 2023-9-16 22:41:37 | 显示全部楼层 |阅读模式
一个wordpress网站W,连接了两个不同的mysql数据库,分别是A和B,A是wordpress安装时自带的,B是在另外一台服务器上的创建的,现在前端uniapp程序要调用B上的数据库进行查询和读写操作,请给出一段示例代码。
5 q' p" q8 X) Q- |/ F4 I- l% W4 S( l- h7 h; w
首先,你需要在uniapp程序中使用合适的方式连接到数据库B。以下是一个示例代码,使用uniapp的`request`方法发送HTTP请求到B的服务器上,然后进行数据库查询和读写操作。
' g+ Q3 U! L! v9 `# o) V2 j$ X6 O4 |  d5 i4 Q
```javascript" e3 `  p; `" s4 F4 o. `
// 在uniapp中调用B数据库的示例代码
0 t& D" x  x$ P3 n
1 Z( T- R: i# E! T! `. g// 定义B数据库的服务器地址和端口号' x! Q/ L3 ?2 ]1 R9 W, M  d) d
const serverUrl = 'http://B服务器的地址:端口号';
3 ?# P: l- s6 a9 B1 d' e3 o& _' `: K9 Y. f6 {
// 查询操作
9 o5 N/ q0 ?! W, K# ^2 ]uni.request({* _5 g3 A1 U/ _( C3 m* R( t& y
url: serverUrl + '/query', // 在B服务器上定义的查询接口
. U$ r2 i- K+ j2 `8 f1 r6 @method: 'GET',
- u# H4 x2 I3 s7 K. ksuccess: function(res) {/ h4 y0 ]8 @, l# m- w( R7 h8 F+ d$ n
// 查询成功后的处理逻辑
4 ^: U3 Z+ f! g! f0 f! ~console.log(res.data); // 输出查询结果: W2 K$ F" a% z: l9 L8 ~' k: _( M
},
# P' S" r: M! ~8 ?; z$ Hfail: function(err) {
: W) F1 g( n. R8 ?// 查询失败后的处理逻辑
# r1 B* \. `* U! ~- ?; k) |console.error(err);# d# |. E6 C6 m
}
/ [. @) K. o: e7 \8 }9 m) H});
! |% A7 m0 g2 N% J
5 L* Q' K* b) P: H) w* N//读写操作
+ U0 G; [. A" ?, P/ k& n* k0 ]uni.request({
3 L* v- n& q- A5 T0 s0 C. E4 W) gurl: serverUrl + '/write', // 在B服务器上定义的写入接口- Y. N& ^- I( S
method: 'POST',: r. S* l! l6 C5 k$ l# f4 q
data: {7 Q; T" X, A* p( q8 E2 S, z
//传递的写入数据
0 `" g7 w0 G4 m) l) K// 根据B数据库的接口定义,传递合适的参数, i& w9 i# O' p# U; k- E
},/ g: r$ Y/ F% v# J) D
success: function(res) {! X. Z/ p( k0 ?' G# U
// 写入成功后的处理逻辑6 h) ^6 \7 L. q2 E$ w
console.log(res.data); // 输出写入结果+ h& x5 @1 b7 f+ Z! k2 D' K% x# A
},
$ v" c+ K& m2 afail: function(err) {  l- J" v5 q, K5 i
// 写入失败后的处理逻辑
$ k8 r* g' W* L, \  Vconsole.error(err);3 I2 m0 `5 h' R; i6 j$ O( b
}. g* f# o( l; N' J
});8 Z. ?' M: V, l8 z" v
```
7 K1 L2 J3 A+ j1 I4 N) U& D7 c" a) _9 }8 J0 Z0 }+ y* k
请注意,上述代码中的`serverUrl`需要替换为实际的B数据库服务器的地址和端口号。同时,根据B数据库的接口定义,适当修改查询和写入操作的参数和数据。
$ x5 }6 I% N$ V7 A* X: e7 m# Y' }
回复

使用道具 举报

328

主题

499

回帖

3260

积分

管理员

积分
3260
QQ
 楼主| 发表于 2023-9-16 22:46:16 | 显示全部楼层
我在uniapp前端页面上有一个表单,分别有姓名和手机号码,需要保存到B数据库,同时把保存的结果无刷新实时地回显到前面页面上。
/ x) l, V+ H. Y7 A! r' S$ \0 W# P3 y1 n* z
: @" R9 I1 C8 `7 S8 ~# s) j
如果你想在uniapp的前端页面上保存表单数据到B数据库,并实时回显结果,那么与W网站的关系是通过B数据库进行数据交互。
  h6 z/ e! p9 Y- B6 Z: g1 A5 p% ^( _9 O8 a; a0 O$ \
在这种情况下,你需要在B数据库的服务器上创建一个接口,用于接收前端页面发送的保存请求,并将数据保存到B数据库中。然后,将保存结果返回给前端页面,以便实时回显。
7 T0 T- z* K- u2 t; u; h7 {: }# A" T4 C5 d
以下是一个示例代码,展示了如何在B数据库的服务器上创建一个保存接口:$ }* S. x2 `1 }
& t. {+ h; T& Z" y
```php6 O, `1 A" L! G( f0 ]
// 在B数据库服务器上创建保存接口的示例代码(使用PHP)
2 S/ f$ `9 t3 B) c' b3 M9 U9 q: ~+ s  Y' }0 @# N5 x- g. g
// 连接到B数据库
4 Q" o, B/ T+ Z, c- v* [$servername = "B数据库的服务器地址";
8 E3 C* H6 _. H. k' ^; x$ a$ f$username = "B数据库的用户名";2 [) N" a* P, I0 ]  ^0 {
$password = "B数据库的密码";
) O7 h; m  y4 G0 B" E4 x$dbname = "B数据库的名称";6 \% h% a1 e1 Y, \" I; E

; R0 W; h3 o6 Y6 B- M- W$conn = new mysqli($servername, $username, $password, $dbname);' z/ W. V$ u( k. [- B0 F
if ($conn->connect_error) {
# {( T! P. z5 z" l1 _die("连接B数据库失败: " . $conn->connect_error);& ?: N7 M0 E- ~/ j+ t
}
- n3 ~4 W2 ^) s# B7 t# \. _
% f* E. _! V* s//保存接口& O# }% r% e2 |7 R+ ^* \8 b
if ($_SERVER["REQUEST_METHOD"] == "POST") {7 u+ ^! v) B. X3 [+ ?
$name = $_POST["name"]; // 表单中的姓名字段
# I1 z7 ]8 p5 ^$phone = $_POST["phone"]; // 表单中的手机号码字段
2 Y0 |, v! A( d( N3 N2 n5 @- H0 E& `( T, v- a. _8 N
// 将数据保存到B数据库的表中
- p) `7 x. b4 l  x9 C0 p* |) c$sql = "INSERT INTO 表名 (姓名, 手机号码) VALUES ('$name', '$phone')";5 h; y8 p, @( y3 a5 g, D
if ($conn->query($sql) === TRUE) {9 ^0 O+ h2 I! [* m) q6 D% X1 I" w0 j$ ?
$response = "保存成功";
' j8 l; o( }# _} else {* H3 X2 N" S- `7 @6 ]+ u
$response = "保存失败: " . $conn->error;
5 U- |2 x: {$ u' B. k}) j9 |$ k# r, M: Z2 }+ _: r
, _4 H) E8 ?; ]% L% Z
// 返回保存结果给前端页面
, Y  E; S1 m& i5 {2 u- Yecho $response;
5 E# V3 p- `& v$ q: b' m}
% B3 q7 i( {% i/ f
- Q* c  S: Z" q2 A/ {$conn->close();$ p/ Q! v0 g& {* l! s1 B/ }$ z/ W
```
8 Q! O  P% u+ a9 E  }1 s$ U* x
. M. H5 j9 T: d9 p) x0 g在前端uniapp页面中,你可以使用之前提到的示例代码,将表单数据发送到B数据库的保存接口,并实时回显保存结果。
2 S6 Z' D4 g  [0 |% L* c% b$ R9 O2 }7 `3 U1 x* e! c
请注意,上述示例代码中的B数据库的连接信息和保存接口的URL需要根据实际情况进行修改。同时,根据B数据库的表结构,适当修改保存接口中的SQL语句和表名。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-11 02:29 , Processed in 0.074045 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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