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

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

[复制链接]

348

主题

566

回帖

3710

积分

管理员

积分
3710
QQ
发表于 2023-9-16 22:41:37 | 显示全部楼层 |阅读模式
一个wordpress网站W,连接了两个不同的mysql数据库,分别是A和B,A是wordpress安装时自带的,B是在另外一台服务器上的创建的,现在前端uniapp程序要调用B上的数据库进行查询和读写操作,请给出一段示例代码。
) A$ _5 ~& [! h7 N* A9 f
  K5 W1 q7 @9 [4 Q/ X首先,你需要在uniapp程序中使用合适的方式连接到数据库B。以下是一个示例代码,使用uniapp的`request`方法发送HTTP请求到B的服务器上,然后进行数据库查询和读写操作。
  F4 i4 C7 _: n' M1 t; x8 U; Z8 Z  J9 E: G  C  G- s9 W5 m
```javascript. V; O% V( m0 _/ _7 ?# O, x0 V
// 在uniapp中调用B数据库的示例代码" R) h  ^% P, n# j# K* ?

" a  }* a' D. P2 R// 定义B数据库的服务器地址和端口号
4 a  X; z, g7 u3 ~. n# H, N5 k: vconst serverUrl = 'http://B服务器的地址:端口号';
  k3 N7 N! W% d  M4 ~: k4 [2 ]' V4 G+ T
// 查询操作" i/ E# f( Z! {" P
uni.request({
1 S6 S- M* T/ I, Z8 T2 |, i' Lurl: serverUrl + '/query', // 在B服务器上定义的查询接口
& Q6 b, b' _+ y2 K' n) d/ Zmethod: 'GET',, D4 I) h5 W9 B6 }3 T* M
success: function(res) {. b* G( f* ~5 L$ @" `2 A
// 查询成功后的处理逻辑' m: M" r  i, |  M& O, M
console.log(res.data); // 输出查询结果
- k. O  `: I' l$ M6 U1 f: W% m},
$ A2 U' m& |! X7 f( ]$ W/ Y+ Pfail: function(err) {
7 Y8 J* P* c" x) Y: k  o// 查询失败后的处理逻辑
; d2 n2 M7 H  n2 E% p0 zconsole.error(err);
" @4 @. C9 H- m$ b& ~' h}* n& j: F$ {/ r8 t; m$ f8 S% b
});
9 O, o/ Y& V* h6 Y7 r- J$ w: r9 ~' c# T; A
//读写操作
7 j! J+ T# q4 y) q$ @uni.request({
1 g0 D- Y; K% ]% {, I$ o4 Curl: serverUrl + '/write', // 在B服务器上定义的写入接口
* S$ Y5 Z, x' Bmethod: 'POST',8 R4 Y. R5 V+ i$ _( w! q
data: {
9 A3 y8 u. r5 n/ N9 G' x//传递的写入数据
8 z% B+ j) G& E8 f  A// 根据B数据库的接口定义,传递合适的参数6 L% I0 d6 q) b8 ~3 ~8 P
},* K- T- p9 N$ E/ x
success: function(res) {! A  Y1 d4 ~+ J3 c$ u" A: ?; G
// 写入成功后的处理逻辑$ A* p8 }) p: G5 ^) @; P4 S( F
console.log(res.data); // 输出写入结果+ e+ P* e+ T2 W+ U
},; I* m8 d* |/ w5 x: {9 T
fail: function(err) {7 c  I+ {' s; J3 g' e1 G
// 写入失败后的处理逻辑
) m6 a& ?+ o. A; uconsole.error(err);
( m9 X- S: e  J2 i5 s}
' y9 ^( [/ U/ D; U6 S) q- R});
1 ]& K$ U8 W" N3 w  Q  Z```/ |6 V  P) }- I, q% @
2 E; q* X$ f9 h7 P
请注意,上述代码中的`serverUrl`需要替换为实际的B数据库服务器的地址和端口号。同时,根据B数据库的接口定义,适当修改查询和写入操作的参数和数据。; o/ M) ]5 r/ x& Y9 ?7 _: @" S
回复

使用道具 举报

348

主题

566

回帖

3710

积分

管理员

积分
3710
QQ
 楼主| 发表于 2023-9-16 22:46:16 | 显示全部楼层
我在uniapp前端页面上有一个表单,分别有姓名和手机号码,需要保存到B数据库,同时把保存的结果无刷新实时地回显到前面页面上。6 h3 D: S1 T# T% p/ G. a5 R: l2 H+ m
8 f$ ]  ]0 ^9 t  N
% Y4 |* x8 m" O
如果你想在uniapp的前端页面上保存表单数据到B数据库,并实时回显结果,那么与W网站的关系是通过B数据库进行数据交互。
) g' C2 m- Y$ y. r. d1 K9 G  l
( R- o9 r9 b0 X$ n: _在这种情况下,你需要在B数据库的服务器上创建一个接口,用于接收前端页面发送的保存请求,并将数据保存到B数据库中。然后,将保存结果返回给前端页面,以便实时回显。
$ v' n4 j8 e; m# d* ]  Y3 m0 C  J' ]: I: U
以下是一个示例代码,展示了如何在B数据库的服务器上创建一个保存接口:
2 V+ |1 Q- U7 y: m4 d  I) ?  i, v7 f7 b' @
```php
' f; y% a% b3 M+ B// 在B数据库服务器上创建保存接口的示例代码(使用PHP)
6 S% x+ J- U! {
+ F% T. R5 I' ]# p) X// 连接到B数据库; `! h& h$ Y3 W- o9 j
$servername = "B数据库的服务器地址";
: j' C( Z+ z+ s8 `2 w% V$username = "B数据库的用户名";
) C( C2 R% Y' ~: s$password = "B数据库的密码";: u" c% q5 O) H7 M( d# h6 N+ N
$dbname = "B数据库的名称";/ ~" \- \2 \2 j0 A( ^$ ?8 T

) \) ~& W$ r0 [  z2 [$ T$conn = new mysqli($servername, $username, $password, $dbname);3 S9 s/ Z! E3 M3 T, s" ?/ {# H, u: h
if ($conn->connect_error) {9 K3 M: s% M: ?7 }6 B9 ~
die("连接B数据库失败: " . $conn->connect_error);3 f2 r( m: o# m7 S
}
; S* D7 ^' L: A9 ?1 r4 N' d1 r7 y) v% z( W. l3 n7 F
//保存接口7 E5 j9 d3 I: C! m; }
if ($_SERVER["REQUEST_METHOD"] == "POST") {/ a) \: s" Q! |, z' U3 X& e
$name = $_POST["name"]; // 表单中的姓名字段
: F& A: p1 W- i" _. |$phone = $_POST["phone"]; // 表单中的手机号码字段
. H. {0 C2 }+ Q/ M
: a" G% a0 C' i3 C* _// 将数据保存到B数据库的表中% b0 m5 T0 S& k
$sql = "INSERT INTO 表名 (姓名, 手机号码) VALUES ('$name', '$phone')";( E2 s, k+ p$ S+ W
if ($conn->query($sql) === TRUE) {8 p, `: l" X* `) l( \
$response = "保存成功";
0 A7 k3 O6 J4 A8 ^& r+ \) n5 U} else {( W5 ~. O, g" J5 o( O. V! B* x3 ]
$response = "保存失败: " . $conn->error;
6 h) `* m+ g7 c1 ?6 a4 A}
& z1 p, _% K. ^; U
4 z. M/ t9 l: [+ w& ~// 返回保存结果给前端页面
+ \+ U- u4 {" {* @$ [( cecho $response;! `, g8 w* Q3 G# e4 A- _
}1 [4 P  k+ O7 @) W( Q" O# S9 k

. r" \0 y/ x3 t! r) z1 s: D0 H- Y& @$conn->close();
9 W9 _- n) u) b  r) L0 Q3 M: g5 d( B' w```
" f: I' i; `- v+ ^; |! K/ V1 f$ C" }, v4 M: x4 K& e  Q
在前端uniapp页面中,你可以使用之前提到的示例代码,将表单数据发送到B数据库的保存接口,并实时回显保存结果。
- ~* H+ C) |& r; A' n1 Y7 z/ r: x) V/ A5 k- s
请注意,上述示例代码中的B数据库的连接信息和保存接口的URL需要根据实际情况进行修改。同时,根据B数据库的表结构,适当修改保存接口中的SQL语句和表名。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-11 12:26 , Processed in 0.129421 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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