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

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

[复制链接]

318

主题

482

回帖

3094

积分

管理员

积分
3094
QQ
发表于 2023-9-16 22:41:37 | 显示全部楼层 |阅读模式
一个wordpress网站W,连接了两个不同的mysql数据库,分别是A和B,A是wordpress安装时自带的,B是在另外一台服务器上的创建的,现在前端uniapp程序要调用B上的数据库进行查询和读写操作,请给出一段示例代码。' W- |) A- L0 B) `
% [3 |4 f+ r9 f, c9 n1 H5 @
首先,你需要在uniapp程序中使用合适的方式连接到数据库B。以下是一个示例代码,使用uniapp的`request`方法发送HTTP请求到B的服务器上,然后进行数据库查询和读写操作。6 }; R" m9 T1 H0 R" |: Y

/ y. H' P4 W* ~" c& ^9 q. T; {& q```javascript* A; `3 X1 d2 ~! I8 D
// 在uniapp中调用B数据库的示例代码3 W: U1 s9 ~! W) o, D& `

3 H9 t$ {/ j9 e+ i$ u" y// 定义B数据库的服务器地址和端口号# ?: A* g# z+ K/ V
const serverUrl = 'http://B服务器的地址:端口号';
0 Y4 _3 g. X% m) e3 m, Q# a- u% N# L6 q* O4 B) [% t% g
// 查询操作
9 y$ b: j1 B# i2 r- R: H$ h* Y8 s! Duni.request({! a/ r5 T0 H2 _8 D) f/ c# K
url: serverUrl + '/query', // 在B服务器上定义的查询接口
$ o; H( t! |3 Gmethod: 'GET',
# A- ]4 C- i7 w  ?, Xsuccess: function(res) {+ n7 j# g) N9 B4 W5 x
// 查询成功后的处理逻辑, B( S4 H- S6 |* [+ g
console.log(res.data); // 输出查询结果
; b: R: |0 P7 S4 T3 F},
) a- g6 M9 b% X% \1 Z1 b; Zfail: function(err) {- ?9 V" o$ |$ ~# C" p2 Q* J1 o- G
// 查询失败后的处理逻辑! m3 Y1 z% Z" C  j* M
console.error(err);1 t/ o9 K! `9 M+ v* \$ j- m
}
. X9 i+ f* d/ z: f+ D});: p. o+ b/ Y" R: ^

& G# c& Y* i- U. K8 ^" J0 B: H" y4 W//读写操作1 A; ~- s( E2 ]3 J
uni.request({5 x- e6 v9 s* ?+ G
url: serverUrl + '/write', // 在B服务器上定义的写入接口
, G) q- ?: ^& \; G  J7 dmethod: 'POST',. d7 v  K3 d* j5 Z" G) u4 c- p
data: {
6 h8 U! t6 P" L; D4 B- O4 F, D, l//传递的写入数据2 v% `9 k3 ~! f& i1 B) I
// 根据B数据库的接口定义,传递合适的参数1 X: Y7 Z# R6 z
},! x# ?$ Y2 J$ p1 z& C7 J
success: function(res) {
9 }" `* M- Q5 O+ @// 写入成功后的处理逻辑
6 C& Q+ e& @. Aconsole.log(res.data); // 输出写入结果
: K7 l( I" ^9 |9 ]9 k},
) t5 Q* `! @& A) Y+ Y  u) Afail: function(err) {
$ w4 b/ v- k' f0 `0 O6 w& @3 F  H0 n// 写入失败后的处理逻辑
( x5 c0 n9 E2 @# y, P2 o; I8 Yconsole.error(err);- d6 I3 J' A& c' y+ v+ R( f+ z
}
% L: e  p4 U8 `/ S8 n" E2 D/ N: d});
) {4 o0 e( `* o- A" _3 u```- K% S2 {" g4 X8 z6 i$ t; N
0 X( m: [9 W6 t( \$ q0 F
请注意,上述代码中的`serverUrl`需要替换为实际的B数据库服务器的地址和端口号。同时,根据B数据库的接口定义,适当修改查询和写入操作的参数和数据。
! A- H, d; p2 V& a; t/ V
回复

使用道具 举报

318

主题

482

回帖

3094

积分

管理员

积分
3094
QQ
 楼主| 发表于 2023-9-16 22:46:16 | 显示全部楼层
我在uniapp前端页面上有一个表单,分别有姓名和手机号码,需要保存到B数据库,同时把保存的结果无刷新实时地回显到前面页面上。2 t( d# _  W1 y9 R4 k

) e. R  Z0 c$ U- \/ f  U1 x$ ^/ L' B7 a9 A" S, ^
如果你想在uniapp的前端页面上保存表单数据到B数据库,并实时回显结果,那么与W网站的关系是通过B数据库进行数据交互。
7 g5 s8 Z& f" s2 ^( H" r5 o' `
/ o4 f% [5 k( N- ~9 b, R在这种情况下,你需要在B数据库的服务器上创建一个接口,用于接收前端页面发送的保存请求,并将数据保存到B数据库中。然后,将保存结果返回给前端页面,以便实时回显。# B+ n; \4 h8 N3 l( c
& C$ ]4 _+ B/ H
以下是一个示例代码,展示了如何在B数据库的服务器上创建一个保存接口:4 j" D  k8 a4 e$ E/ H2 m) U
" c. g8 J  x5 K" ^9 ], K+ F$ v
```php- S* a0 ?. ]2 g- O. ?1 N
// 在B数据库服务器上创建保存接口的示例代码(使用PHP)
! b7 l' |8 v2 ^6 m' q5 O; P8 l3 c# n( U. Z/ P1 L+ h
// 连接到B数据库
, c" s4 b3 K3 P5 B$servername = "B数据库的服务器地址";
) t7 y/ i# L) m$username = "B数据库的用户名";
( ^0 A+ D; p/ m; b* _  I7 {$password = "B数据库的密码";
7 K' j3 ~1 j$ U$ S0 K  `6 _$dbname = "B数据库的名称";: }: q( E$ T# b& X* ?. f$ w; h

: M$ ?% W7 t. U  z1 I0 e* }$conn = new mysqli($servername, $username, $password, $dbname);" b  |# \  p$ n4 k$ p+ n1 o
if ($conn->connect_error) {
# ]* r+ _5 ^: a, h* X4 }die("连接B数据库失败: " . $conn->connect_error);/ }" R. Z6 ~7 w' d1 N
}$ L: I- v8 ^& ?" k- L) T$ ~: p4 p
: P# a; I9 ~5 w+ F2 I) d
//保存接口: B( w3 p7 B: `. u$ P
if ($_SERVER["REQUEST_METHOD"] == "POST") {9 l/ B. Y8 v5 H2 ~. f9 |% n
$name = $_POST["name"]; // 表单中的姓名字段
0 u" w. z1 g- z7 \0 j, M( k$phone = $_POST["phone"]; // 表单中的手机号码字段
8 B' i# a1 M" G- E2 \
. \3 ]0 I5 u& C5 D) g// 将数据保存到B数据库的表中- ^- u  I* t, ~& D; x# Q
$sql = "INSERT INTO 表名 (姓名, 手机号码) VALUES ('$name', '$phone')";  n3 M! M4 W  {% u  d
if ($conn->query($sql) === TRUE) {
( d6 w& ^- T9 `- d7 p$response = "保存成功";: K! Y% t' Z7 s+ a; h
} else {1 e& y; m9 i3 {  k; s& d
$response = "保存失败: " . $conn->error;
: o5 M+ w' S1 {; `% F}
! x/ V% ^5 K  C# F2 c! d+ ^' S! d  G5 W# h) N
// 返回保存结果给前端页面
6 [. Y+ }; J* u; C/ wecho $response;
  t% Q) Y/ C6 x* p}
% a  |- x' W5 C/ K3 |$ \
1 X3 i: u6 F0 q$conn->close();2 d- n! J& U. g
```
( u1 J$ `$ b: M6 M
7 D6 g% a) X/ \7 h7 o! V在前端uniapp页面中,你可以使用之前提到的示例代码,将表单数据发送到B数据库的保存接口,并实时回显保存结果。
- D* }0 g8 V: X% W4 O! k7 N% t. d( C3 j5 s: ~% `6 ]$ W$ `
请注意,上述示例代码中的B数据库的连接信息和保存接口的URL需要根据实际情况进行修改。同时,根据B数据库的表结构,适当修改保存接口中的SQL语句和表名。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-7 18:02 , Processed in 0.076298 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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