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

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

[复制链接]

338

主题

521

回帖

3480

积分

管理员

积分
3480
QQ
发表于 2023-9-16 22:41:37 | 显示全部楼层 |阅读模式
一个wordpress网站W,连接了两个不同的mysql数据库,分别是A和B,A是wordpress安装时自带的,B是在另外一台服务器上的创建的,现在前端uniapp程序要调用B上的数据库进行查询和读写操作,请给出一段示例代码。
  P6 g5 h: n3 b% Q) d8 F- g& }% ~
$ @! z' G2 b9 Q- A& R2 @首先,你需要在uniapp程序中使用合适的方式连接到数据库B。以下是一个示例代码,使用uniapp的`request`方法发送HTTP请求到B的服务器上,然后进行数据库查询和读写操作。/ N* L7 q4 V$ P1 @* C8 N; z1 S
3 C2 G/ w+ O2 `3 N, N' Y! Z8 l
```javascript/ G. M: D. D+ [8 l. W, u1 K! R/ `
// 在uniapp中调用B数据库的示例代码
5 q% g* ^' _0 P# l. `. i4 B8 K7 l: s, x1 f& i& G' T: R
// 定义B数据库的服务器地址和端口号* i% a& ?! |0 r8 I3 Y) h
const serverUrl = 'http://B服务器的地址:端口号';
# ]) ?7 C) F- X  T
5 |; S) O; p' s  G' c1 P// 查询操作5 B. n1 X4 j5 Z' j3 X; x
uni.request({
4 a! O4 m( E- G& ~& ~7 Uurl: serverUrl + '/query', // 在B服务器上定义的查询接口" C: B+ ]& ~9 e7 L
method: 'GET',
, @% ^  X/ ?# ]2 b% m: y6 c+ Usuccess: function(res) {+ G- }" B0 O4 ~) e5 D! D
// 查询成功后的处理逻辑
' n/ N5 ^0 ~5 \' A" J; bconsole.log(res.data); // 输出查询结果, D4 o* s  ]' o; p, j: X" @9 c
},
/ l2 X1 t8 ^; Ffail: function(err) {
0 N. M$ m* L3 v2 [# ^// 查询失败后的处理逻辑9 h; Z  g7 O  @
console.error(err);2 `5 z" T4 Y# ?: A' v  p5 W
}4 D5 m) a/ ]5 j) p( o+ c
});
. N3 C3 ^% R+ N, Y0 m# }, R
4 c( H/ T& _" d1 i/ J6 @//读写操作  _( ?- r! \4 m
uni.request({
" X" n+ U9 t# E3 purl: serverUrl + '/write', // 在B服务器上定义的写入接口
7 n+ g. f; x$ B1 E$ Rmethod: 'POST',5 x. u$ D0 M8 ^
data: {
' R' O, I0 z3 |/ e//传递的写入数据
# J& E8 z( n0 [// 根据B数据库的接口定义,传递合适的参数
* g3 {6 b' B% |3 _},
( N# {( e+ X& r" G3 lsuccess: function(res) {
& Y! [. q! y% `// 写入成功后的处理逻辑5 p3 F. _4 B9 r& G, `6 K, P; p
console.log(res.data); // 输出写入结果* T: w8 Y! T3 N
},$ j' p+ u6 h  _+ T" T- J
fail: function(err) {6 x% X5 y2 U& n4 B" H2 E" c! t5 |
// 写入失败后的处理逻辑" }. Z7 R) ]  F1 {
console.error(err);1 [0 U$ X- t0 y2 c# L, W+ e3 D
}
$ |6 Q! f; [! \8 w$ A6 u});
+ }2 _% C( T. L7 x```
( m/ A& T' A2 Q
+ v5 F6 @* q3 y请注意,上述代码中的`serverUrl`需要替换为实际的B数据库服务器的地址和端口号。同时,根据B数据库的接口定义,适当修改查询和写入操作的参数和数据。
3 t$ y$ K# A; t+ M5 l5 [7 Y
回复

使用道具 举报

338

主题

521

回帖

3480

积分

管理员

积分
3480
QQ
 楼主| 发表于 2023-9-16 22:46:16 | 显示全部楼层
我在uniapp前端页面上有一个表单,分别有姓名和手机号码,需要保存到B数据库,同时把保存的结果无刷新实时地回显到前面页面上。
& ^0 I$ C" ^+ e& m9 a; i( s3 h: R! f# K7 }& G4 Y7 K/ q0 Q: F
# ^! I. y6 B# S! g% @! P7 c
如果你想在uniapp的前端页面上保存表单数据到B数据库,并实时回显结果,那么与W网站的关系是通过B数据库进行数据交互。
5 c/ e, [0 O$ [7 P7 U8 c  D7 v4 P) d' z  Z& `, n* }$ v$ a
在这种情况下,你需要在B数据库的服务器上创建一个接口,用于接收前端页面发送的保存请求,并将数据保存到B数据库中。然后,将保存结果返回给前端页面,以便实时回显。- `0 j! p# h7 j! a: t" X8 o

# o, k/ f2 V% e9 p2 g9 `以下是一个示例代码,展示了如何在B数据库的服务器上创建一个保存接口:
4 @- c8 `* F% s5 x. h! Y5 i$ _+ [  ^6 D
```php5 U: V& [! Q) _0 `! b) G3 A* L) @
// 在B数据库服务器上创建保存接口的示例代码(使用PHP), N. K% |  I) a# g( f9 r6 I
1 c; e- k* x. t; W1 R
// 连接到B数据库- u4 K1 B: O2 d* ^# w$ a+ F
$servername = "B数据库的服务器地址";
! {4 E# V$ M6 e3 x- ?$username = "B数据库的用户名";$ s, `4 L( q8 y( Z( c9 ?  A
$password = "B数据库的密码";8 I% x) A# k" M4 f
$dbname = "B数据库的名称";
# Y7 g* Z) [( {6 U0 ^3 S3 n0 c% q" D' x0 E  d) L5 G
$conn = new mysqli($servername, $username, $password, $dbname);- u7 {6 h; p, `) p+ X
if ($conn->connect_error) {
+ U4 h  m. a4 t$ pdie("连接B数据库失败: " . $conn->connect_error);# I. p/ A+ R4 N# t& q
}
  b( Q# [( a+ N4 `/ Q! Q" F9 {/ @( o% n/ h) g
//保存接口# l: h& v& {" H) z
if ($_SERVER["REQUEST_METHOD"] == "POST") {  o( e- k  b. O1 z( L) v& E$ ^& x
$name = $_POST["name"]; // 表单中的姓名字段
# I( k! Q7 P1 o( M$phone = $_POST["phone"]; // 表单中的手机号码字段) [' P9 r0 l4 M) k1 O

( U* d" ]$ S# K. [' p+ V2 F' {// 将数据保存到B数据库的表中
& ~& B, Q) s( Z; w$sql = "INSERT INTO 表名 (姓名, 手机号码) VALUES ('$name', '$phone')";" R# |5 L- A, m0 d4 o# n. t
if ($conn->query($sql) === TRUE) {
% s: ]9 X1 b3 h$response = "保存成功";! N. V+ V0 ^  u& _7 ~
} else {
7 \. W- }4 V5 j. l' H* R8 J$response = "保存失败: " . $conn->error;
3 S& t! B0 k8 n% I; o}
+ {2 @! t) u/ `( u8 k( {' y: p* Y/ e5 y' l
// 返回保存结果给前端页面
# [- g- ~2 G0 ~! _4 Qecho $response;! M8 j& m+ i5 x6 A
}
3 \3 B2 q& v. b: n! y+ g5 B0 Q$ D) P8 N. K0 ]
$conn->close();! Q/ A3 d* L1 l) ~- C2 A; q+ \# Z5 W1 Z
```
1 L7 c- ^" s  h2 \" H" S
& P* g* J9 U6 P在前端uniapp页面中,你可以使用之前提到的示例代码,将表单数据发送到B数据库的保存接口,并实时回显保存结果。
9 z$ i1 l( M# m, D" O' N6 Q4 D& x7 w6 _
请注意,上述示例代码中的B数据库的连接信息和保存接口的URL需要根据实际情况进行修改。同时,根据B数据库的表结构,适当修改保存接口中的SQL语句和表名。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-10 18:28 , Processed in 0.021521 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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