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

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

[复制链接]

322

主题

485

回帖

3164

积分

管理员

积分
3164
QQ
发表于 2023-9-16 22:41:37 | 显示全部楼层 |阅读模式
一个wordpress网站W,连接了两个不同的mysql数据库,分别是A和B,A是wordpress安装时自带的,B是在另外一台服务器上的创建的,现在前端uniapp程序要调用B上的数据库进行查询和读写操作,请给出一段示例代码。
! u4 }: [+ Z; r' k- R% b0 `3 y) m3 N- Z2 C2 z$ ^
首先,你需要在uniapp程序中使用合适的方式连接到数据库B。以下是一个示例代码,使用uniapp的`request`方法发送HTTP请求到B的服务器上,然后进行数据库查询和读写操作。0 Y4 ?5 [2 \: I( w! G' n6 ?. i
. B2 o8 ]5 X% V- k$ M' }+ \! s
```javascript
6 X2 h, v- a3 a, B+ G// 在uniapp中调用B数据库的示例代码
, D" }' Y: g2 A  B$ x$ o# t; t6 o9 C  s) v( L
// 定义B数据库的服务器地址和端口号: Y" t2 O7 p9 l; ?+ u; d# K
const serverUrl = 'http://B服务器的地址:端口号';6 N+ _; R1 M$ R  R: m

. u5 J' `1 c9 H5 U1 j: }5 w// 查询操作
2 Y) d% _: @; ^- c2 M1 S  K; b+ T0 Guni.request({
5 P' [* A" K3 J/ x# y7 Q" `url: serverUrl + '/query', // 在B服务器上定义的查询接口- w* X; I; a7 x
method: 'GET',
; u3 ^+ h- {: @2 qsuccess: function(res) {3 O6 ^& q3 w0 \! ^3 k0 K
// 查询成功后的处理逻辑/ t0 Q# y9 n& O# _- F
console.log(res.data); // 输出查询结果5 k7 _. R1 `, y4 j% u
},
( h2 }# `5 }" p$ Q8 u! G7 S6 ~fail: function(err) {
2 d; r  M% t3 b4 F5 D( {/ G// 查询失败后的处理逻辑
$ J9 G0 m3 V8 s* ]console.error(err);
6 E* S, A5 G5 w" g0 |7 ^}
& S0 V6 y2 d: D, }  _% m});2 k6 J: Y: r& C8 S# o& p

/ z) A0 R( J; x& [( H) z; A! \7 B//读写操作3 A' U- |* ]& |( N: I; n+ ^$ r
uni.request({
/ T. H( z3 k, ?; Vurl: serverUrl + '/write', // 在B服务器上定义的写入接口
3 [, E1 c. _7 u' ~/ l2 V+ s8 Lmethod: 'POST',7 L- }" z- ]. D- K6 X. D* s5 S
data: {% ]! y' I2 I; W$ x) c9 \" h& ~! U
//传递的写入数据
- u; {7 }1 _) v$ J7 N1 [// 根据B数据库的接口定义,传递合适的参数
/ C8 I7 u( |. m8 M$ t},
; z, L) ]4 e' y- X2 z+ Ssuccess: function(res) {/ L3 ?' t4 M& m! M1 ^
// 写入成功后的处理逻辑" B- X: f( L: u
console.log(res.data); // 输出写入结果
: `3 t! Z$ _$ E- P# c% C9 n},
4 F2 ^$ k* X( R6 z3 g. Hfail: function(err) {
. ?( h7 b7 y$ R# {+ C$ T/ Y3 I  ?// 写入失败后的处理逻辑& c# ?; x4 U& F+ h4 Y
console.error(err);
3 C' ]1 C; E) t- {. C2 M}
: s  Y' V; T& Q. G' D});8 [& q- n9 _! h8 Z
```7 I  J0 \# G% ~" n

6 b' `* g+ i/ y3 f: Y% t0 e1 l请注意,上述代码中的`serverUrl`需要替换为实际的B数据库服务器的地址和端口号。同时,根据B数据库的接口定义,适当修改查询和写入操作的参数和数据。
, w  w' u4 G2 s# h+ R6 Y
回复

使用道具 举报

322

主题

485

回帖

3164

积分

管理员

积分
3164
QQ
 楼主| 发表于 2023-9-16 22:46:16 | 显示全部楼层
我在uniapp前端页面上有一个表单,分别有姓名和手机号码,需要保存到B数据库,同时把保存的结果无刷新实时地回显到前面页面上。
. E/ a8 }9 ^1 i& P; n- B1 b' d4 X) ~" _) j1 ~$ ?
% i% I9 M" N# p: Z: b1 h, c
如果你想在uniapp的前端页面上保存表单数据到B数据库,并实时回显结果,那么与W网站的关系是通过B数据库进行数据交互。6 y1 d; r2 P' o7 ^) z
# Z1 U( v6 ^' V1 a0 w  L
在这种情况下,你需要在B数据库的服务器上创建一个接口,用于接收前端页面发送的保存请求,并将数据保存到B数据库中。然后,将保存结果返回给前端页面,以便实时回显。' U, ^& ^: r. i
- W; I4 Y4 Z/ E9 \* @! P" C" ?
以下是一个示例代码,展示了如何在B数据库的服务器上创建一个保存接口:
6 T' q! ^) D6 j9 [$ V7 H! K9 U; r! r, x4 k; g+ \
```php" p" V' y) F8 d! `2 a
// 在B数据库服务器上创建保存接口的示例代码(使用PHP)  ^7 ]0 `, [: [% k! e  E

0 r* E5 x& [# E0 W' z// 连接到B数据库- |. o; \1 k$ p& M
$servername = "B数据库的服务器地址";
: O8 F1 s* V# {2 a. @7 v+ v3 |; G$username = "B数据库的用户名";; f2 Q  k( c( |% S- f+ h8 \2 v" u
$password = "B数据库的密码";
4 m) w1 _6 ]1 z# A$dbname = "B数据库的名称";3 x2 H7 I5 B5 m. s5 g  I3 n* Z

' O$ r# m) S8 D3 ~$conn = new mysqli($servername, $username, $password, $dbname);( q/ h& W% C5 k' u
if ($conn->connect_error) {
/ V. t; v% U# |/ }3 s* Bdie("连接B数据库失败: " . $conn->connect_error);
: }1 D/ Y5 A3 e, O* X}& H3 m' d& g+ S1 z
5 n; p& E% k! p3 I9 ]! ]
//保存接口
  r/ i! l! h; _/ F/ l& }  Nif ($_SERVER["REQUEST_METHOD"] == "POST") {1 j0 c$ K, P: T
$name = $_POST["name"]; // 表单中的姓名字段
3 `/ S9 v$ b" g" z  s0 M6 ~$phone = $_POST["phone"]; // 表单中的手机号码字段3 d: V. F$ r& a1 ?

. r! a0 p7 M6 P2 F// 将数据保存到B数据库的表中
: }' U& |5 ]! @8 D6 j! V1 D$sql = "INSERT INTO 表名 (姓名, 手机号码) VALUES ('$name', '$phone')";
/ z+ S* ^6 T' H8 J, {4 Z( Bif ($conn->query($sql) === TRUE) {6 e2 V5 \# d% n* B+ ^/ v! I/ P
$response = "保存成功";5 Q* x4 i0 p0 f, a* T% Y
} else {
- N# ?0 B$ \& j2 t$response = "保存失败: " . $conn->error;
% e! o" r+ [6 I! \7 n7 f9 a; P}* t2 {# B$ V- n2 x, r: ^" d+ J# I3 |

& N! `* x3 c- X/ X8 p3 B// 返回保存结果给前端页面2 e$ |& `) }, L" o% T; E
echo $response;
% L- X- F( ]# e}8 q% Y+ p7 e- n, n9 c$ v+ T- h

& z- J2 j0 a% X( v$conn->close();1 Z1 t, O) G- b
```
6 I! }- P. x6 ]7 ~/ t) b3 o. l2 W/ `
6 [% L4 l! @& F3 @) [在前端uniapp页面中,你可以使用之前提到的示例代码,将表单数据发送到B数据库的保存接口,并实时回显保存结果。+ a& b* ~1 K; N) `
$ q  Z5 a9 K) L- s% D
请注意,上述示例代码中的B数据库的连接信息和保存接口的URL需要根据实际情况进行修改。同时,根据B数据库的表结构,适当修改保存接口中的SQL语句和表名。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-9 19:39 , Processed in 0.079006 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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