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

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

[复制链接]

335

主题

520

回帖

3433

积分

管理员

积分
3433
QQ
发表于 2023-9-16 22:41:37 | 显示全部楼层 |阅读模式
一个wordpress网站W,连接了两个不同的mysql数据库,分别是A和B,A是wordpress安装时自带的,B是在另外一台服务器上的创建的,现在前端uniapp程序要调用B上的数据库进行查询和读写操作,请给出一段示例代码。
6 T( c4 }9 ?5 \4 t) ^7 Y
' T2 X2 Q" z2 g3 W6 h7 j8 q5 i6 g" `首先,你需要在uniapp程序中使用合适的方式连接到数据库B。以下是一个示例代码,使用uniapp的`request`方法发送HTTP请求到B的服务器上,然后进行数据库查询和读写操作。  }9 w. x. w$ {  N1 h

/ C! r! b/ j* r8 L/ n1 w+ X. d8 m```javascript+ m1 v; P% P/ C0 H* P' X9 i
// 在uniapp中调用B数据库的示例代码. J- w  o; i1 q/ x* t- S
% N# X# x7 h2 ^7 F9 R8 o
// 定义B数据库的服务器地址和端口号( ~# B( ~  g* K! X
const serverUrl = 'http://B服务器的地址:端口号';
3 j7 S: g3 U& w+ Q) T4 {1 [( q/ j
// 查询操作
0 E" a, Z; G; x6 ]- e+ P# {5 K2 Runi.request({
5 e% l3 G- O& S5 J! {7 H9 ~url: serverUrl + '/query', // 在B服务器上定义的查询接口* W9 I8 ?% s- v$ j$ |! P
method: 'GET',
# F0 G  v& S# _5 w; zsuccess: function(res) {  C% U! |( e9 x5 c# S
// 查询成功后的处理逻辑& ~2 y+ D) p; Q5 n1 V
console.log(res.data); // 输出查询结果
5 W6 ]: u) x( t' p2 o},! ~+ Y, h9 H# J$ [; L/ Z
fail: function(err) {
* D) t) t/ M4 S/ o// 查询失败后的处理逻辑
3 v$ Q# o* j9 {$ w9 s; Fconsole.error(err);; p' n! h# }: \4 C1 c/ v
}/ E* ]) `$ Z; ?% K
});
2 |: r; K! J, p. E. E/ a5 q; _
/ s! {: a1 J  \0 b% [//读写操作- O: k; V3 P+ ~
uni.request({
. g% x+ S: H* d: u6 q- burl: serverUrl + '/write', // 在B服务器上定义的写入接口
6 g, W5 u  n% }  U. p5 n; U, |method: 'POST',3 j# a5 J2 }" d, V2 [4 l  L) V5 j
data: {; Q6 U( r. L! E7 G8 d  N  f" b
//传递的写入数据
) e$ M$ W; P8 @* t// 根据B数据库的接口定义,传递合适的参数2 J: P  l+ u& P, c. {
},
& k5 ]6 M/ C2 O* Y/ u% {success: function(res) {
  s) z+ v8 w: |- _/ D) ~+ F5 S( W// 写入成功后的处理逻辑
( t) \0 M2 s" E) w) h4 _" V- zconsole.log(res.data); // 输出写入结果
1 }; g, r: D3 Y9 ?' |5 G},
5 }/ {0 M0 C7 ffail: function(err) {
. L; n3 n: O  V* a$ P5 N, Q  k% A// 写入失败后的处理逻辑# c5 ?# N- ^; f, Q/ u
console.error(err);
  N" y) S2 z3 G# K8 C}
  U, X# d; E, O8 ~8 {});* f) |# o/ p- r( h% e0 K
```
) W; |  ]" O2 |- ^$ O1 ^0 [
$ Z, _8 f6 w( R6 e* \, U6 F$ I请注意,上述代码中的`serverUrl`需要替换为实际的B数据库服务器的地址和端口号。同时,根据B数据库的接口定义,适当修改查询和写入操作的参数和数据。
) `6 e! _1 i7 w/ D4 K
回复

使用道具 举报

335

主题

520

回帖

3433

积分

管理员

积分
3433
QQ
 楼主| 发表于 2023-9-16 22:46:16 | 显示全部楼层
我在uniapp前端页面上有一个表单,分别有姓名和手机号码,需要保存到B数据库,同时把保存的结果无刷新实时地回显到前面页面上。# _* T. n$ |" n2 u

  c' a& m  N! x& A9 l, l
  \% t) L0 V+ J8 V% @( g; F如果你想在uniapp的前端页面上保存表单数据到B数据库,并实时回显结果,那么与W网站的关系是通过B数据库进行数据交互。2 I1 c+ d. Q8 L9 H! X# n' k6 d

; {  \3 t1 w3 u1 M7 E在这种情况下,你需要在B数据库的服务器上创建一个接口,用于接收前端页面发送的保存请求,并将数据保存到B数据库中。然后,将保存结果返回给前端页面,以便实时回显。
  g3 R: r" M5 [: \  a% Z  v" S: S; w* D3 I) v. d
以下是一个示例代码,展示了如何在B数据库的服务器上创建一个保存接口:
; S- R) P7 J# V/ [% E) m* Y+ j0 `/ h; @
7 M4 v/ i, @  @8 Q9 }, z( F8 y```php
6 H" a0 i. Y+ \/ L0 J// 在B数据库服务器上创建保存接口的示例代码(使用PHP)
" Z$ s% [0 t1 z: G2 g& n8 r
5 R; R# V1 C5 d/ ?- U) L5 K// 连接到B数据库+ G* }, q  h1 D# P# q+ _' k% h9 Q$ p
$servername = "B数据库的服务器地址";- z( H3 ~  }& E
$username = "B数据库的用户名";
4 c, Q% T4 V. L: }4 v2 ?$password = "B数据库的密码";  i0 X  d) |' a' }4 ]% O: l
$dbname = "B数据库的名称";: W! o2 h; j' |' ]7 n% R& q
2 y2 _/ W# w4 b. H6 L
$conn = new mysqli($servername, $username, $password, $dbname);
! h+ M3 y) Y* kif ($conn->connect_error) {
: u; M: g' f; |1 a% N6 f6 Tdie("连接B数据库失败: " . $conn->connect_error);( N' X$ [3 [) S) g" i
}# f8 ~; Z/ _, T3 G$ T8 }$ P

; C7 f, K8 x/ v4 \5 P: U//保存接口9 Z  T8 J: e! P+ S
if ($_SERVER["REQUEST_METHOD"] == "POST") {- v4 @' ^4 P7 R0 E
$name = $_POST["name"]; // 表单中的姓名字段+ H0 {' n( K( A  h5 u3 f$ V
$phone = $_POST["phone"]; // 表单中的手机号码字段+ G" {6 x% C0 U+ v; T  c; v" W

5 m& F5 t: R! b! U2 q// 将数据保存到B数据库的表中6 c9 d7 b5 f; V, d* M/ e
$sql = "INSERT INTO 表名 (姓名, 手机号码) VALUES ('$name', '$phone')";
, x" _9 T& c% b3 X, ]4 [! }if ($conn->query($sql) === TRUE) {$ {( [0 I0 {0 i1 s# U
$response = "保存成功";
- O* k1 C9 p( i} else {5 c7 S# @1 j3 l
$response = "保存失败: " . $conn->error;0 k  f0 y7 S1 K( z$ Y  \
}
% q1 s; p7 ~7 C0 f' ^7 [! D; M1 D  U# V
// 返回保存结果给前端页面: U' W4 A/ x9 f
echo $response;
: B9 @0 q  ]) d" f  r}9 ]3 c$ a3 a& h0 D1 ?
- S1 K- {3 E9 h2 ~7 Q3 j5 L" t2 ]
$conn->close();: e" a! j8 O6 [4 [% z) a% w4 f- O
```
' C- D! f' w# Y- Q6 X. g8 h6 O$ d# k8 Y) B! J
在前端uniapp页面中,你可以使用之前提到的示例代码,将表单数据发送到B数据库的保存接口,并实时回显保存结果。  ]$ a6 f; ~& |! Q" c7 t% {
& k- m) \7 m$ r2 m% e
请注意,上述示例代码中的B数据库的连接信息和保存接口的URL需要根据实际情况进行修改。同时,根据B数据库的表结构,适当修改保存接口中的SQL语句和表名。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-16 21:22 , Processed in 0.067348 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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