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

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

[复制链接]

347

主题

564

回帖

3679

积分

管理员

积分
3679
QQ
发表于 2023-9-16 22:41:37 | 显示全部楼层 |阅读模式
一个wordpress网站W,连接了两个不同的mysql数据库,分别是A和B,A是wordpress安装时自带的,B是在另外一台服务器上的创建的,现在前端uniapp程序要调用B上的数据库进行查询和读写操作,请给出一段示例代码。$ W: I$ m3 w9 [4 s$ n7 e" X
$ `% k* x1 r1 p3 {" |  y( Y1 X
首先,你需要在uniapp程序中使用合适的方式连接到数据库B。以下是一个示例代码,使用uniapp的`request`方法发送HTTP请求到B的服务器上,然后进行数据库查询和读写操作。
0 m9 u8 C; r. _+ H! r. z" Y& w+ @8 z/ m" B: n# J; Q$ h8 ~/ ]
```javascript+ y, ]9 ]. |4 P% y' ~  q3 x
// 在uniapp中调用B数据库的示例代码. G6 N- b6 K4 v3 X! c0 n; {+ }( M4 V

6 k0 X9 A% V7 S/ J- f// 定义B数据库的服务器地址和端口号- |4 N+ `/ i8 y, L
const serverUrl = 'http://B服务器的地址:端口号';
2 Y8 s9 w. @8 P* Q: j* m9 s0 J& z# X3 q6 p- J5 k4 i' ^
// 查询操作8 \/ _9 }% D) f' x! R
uni.request({
2 c6 i% z. m0 M) X0 Jurl: serverUrl + '/query', // 在B服务器上定义的查询接口
! X: p2 f7 h8 Z* ~7 z( |method: 'GET',5 g0 j: a. W, _' n
success: function(res) {4 @$ k, \% A# q1 ~, m
// 查询成功后的处理逻辑
9 O9 k6 d. e; a& B5 Hconsole.log(res.data); // 输出查询结果
- ]2 a, C3 f- L6 G% K1 P9 ~( w},
, o- {) E5 `' H5 m, k) f- Ufail: function(err) {
% U# L* r' i8 ~+ \9 j9 l+ r$ P) T1 D// 查询失败后的处理逻辑
  E; ]" \' u, T/ Xconsole.error(err);
) @6 |4 ~7 W; V) X}( V0 M8 T+ z0 N- m& `
});- A3 D# |3 B% p3 O' l. K
4 f, O8 H4 A& `- ^7 a9 n& v2 c
//读写操作
, s: _9 B. G7 V/ M' Wuni.request({
: O9 L/ v5 p; H+ v& Y* kurl: serverUrl + '/write', // 在B服务器上定义的写入接口9 |9 d+ c  B% ^
method: 'POST',! ?, d5 }5 u$ L: D. V2 k/ L
data: {8 M# T8 W8 u' ~' m, d0 q& i
//传递的写入数据
  P0 N: {- S; y% q5 H9 i0 W7 I// 根据B数据库的接口定义,传递合适的参数
; M8 \* G* t' i! s: X$ o},
' J4 H1 `% R9 N) o' fsuccess: function(res) {4 G- [( V% V! {( U# t5 o  L9 [
// 写入成功后的处理逻辑
: @9 G2 g2 X7 Q) d5 C9 Sconsole.log(res.data); // 输出写入结果
% p# f) I1 C# O7 f. M0 y},1 A  j; U; W1 |/ y  S) Q# T
fail: function(err) {" \6 ]: ~' m: ~$ ~* S; O, F- V
// 写入失败后的处理逻辑
0 \1 m6 T8 e6 D3 Cconsole.error(err);( B0 e: d% ?$ o6 L* f
}% n% V# ^/ U4 i4 k# ~
});; v# T6 J. B# w- a
```
% I9 j+ R5 a- m. s/ s
$ O+ B8 X' ^3 Q/ p请注意,上述代码中的`serverUrl`需要替换为实际的B数据库服务器的地址和端口号。同时,根据B数据库的接口定义,适当修改查询和写入操作的参数和数据。! f. Y4 R# [& @# U( m8 ~* W
回复

使用道具 举报

347

主题

564

回帖

3679

积分

管理员

积分
3679
QQ
 楼主| 发表于 2023-9-16 22:46:16 | 显示全部楼层
我在uniapp前端页面上有一个表单,分别有姓名和手机号码,需要保存到B数据库,同时把保存的结果无刷新实时地回显到前面页面上。# j9 l8 K* l  q, |3 z2 w% B
( Z. o5 ]8 l# n

0 [+ {. `' M: l4 v& c" ~1 y如果你想在uniapp的前端页面上保存表单数据到B数据库,并实时回显结果,那么与W网站的关系是通过B数据库进行数据交互。
# a' e: n& v% R/ q7 R/ m! J: Z
1 I' K4 B$ K/ E; B4 S. x& d在这种情况下,你需要在B数据库的服务器上创建一个接口,用于接收前端页面发送的保存请求,并将数据保存到B数据库中。然后,将保存结果返回给前端页面,以便实时回显。
* w# t7 K! `" i: _; x. ^
; o. \" R1 E2 \# j以下是一个示例代码,展示了如何在B数据库的服务器上创建一个保存接口:0 @2 y! l* q8 A9 j
+ v7 A& v7 K, x6 n* w
```php8 K- t9 K& i4 G
// 在B数据库服务器上创建保存接口的示例代码(使用PHP)
  J9 ]# D2 O8 @9 R& r. [$ Z
7 j) x$ k  M$ \// 连接到B数据库
2 K4 |. T/ U* z" ?( T! T$servername = "B数据库的服务器地址";! L5 l4 i# b' I' f4 A
$username = "B数据库的用户名";
8 z2 @% H( m$ u, }$ |: h( Q5 ?$password = "B数据库的密码";% [) Q% w! z* C1 {9 c
$dbname = "B数据库的名称";1 s  z! p, e6 M/ c3 g4 L0 j( x

  K+ m1 B* m" S) ?: F, }$conn = new mysqli($servername, $username, $password, $dbname);
( x( ~4 a  h* Q  Iif ($conn->connect_error) {. C4 I8 j/ O5 ?! G
die("连接B数据库失败: " . $conn->connect_error);' i- F. g; ~4 e8 F
}
/ o6 d  K0 |8 K/ [, f' C4 E( m& x  \' w+ B
//保存接口+ z, d  t: Z2 l* c$ S+ i
if ($_SERVER["REQUEST_METHOD"] == "POST") {
+ Y! L0 _- C# |9 `* K$name = $_POST["name"]; // 表单中的姓名字段: w: q& U* d5 R% Z: O
$phone = $_POST["phone"]; // 表单中的手机号码字段0 V$ o/ d# i6 v/ H
2 `/ c# O- R/ m! J* P# J* W, X' A
// 将数据保存到B数据库的表中5 |2 L5 Q& G# C& I$ A. C5 S, G, [
$sql = "INSERT INTO 表名 (姓名, 手机号码) VALUES ('$name', '$phone')";8 x, N2 g% c2 U4 ^7 J4 l! b
if ($conn->query($sql) === TRUE) {
  n  F' @1 o- s7 n4 o) f" E$response = "保存成功";; ~* Z% N# w% u) q3 F) K
} else {
! X( O1 c) e3 W3 M& ?$response = "保存失败: " . $conn->error;" Z& A3 y# o. g$ D8 i6 i5 t7 b
}
4 C0 `" C& B! {1 D$ [; a
3 h/ d# _3 z5 _: f' {+ y// 返回保存结果给前端页面* |4 l3 h  t& O  P5 H
echo $response;
" z* K) I1 f( W! v: q' b8 h}
0 R/ Y, |+ {) ?: l# K2 V! a  y, X* ]7 Y: |! O7 }
$conn->close();
9 s( ]: v0 S* n( q& M5 D: A/ T```8 m6 n$ [* h. i, |  M' X

. `4 a0 Q  R  l! B- k在前端uniapp页面中,你可以使用之前提到的示例代码,将表单数据发送到B数据库的保存接口,并实时回显保存结果。" x. Y; x' {3 W* V+ V  C  b
! f0 |& J3 A- H9 N: \) T0 G# q
请注意,上述示例代码中的B数据库的连接信息和保存接口的URL需要根据实际情况进行修改。同时,根据B数据库的表结构,适当修改保存接口中的SQL语句和表名。
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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