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

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

[复制链接]

527

主题

676

回帖

4608

积分

管理员

积分
4608
QQ
发表于 2023-9-16 22:41:37 | 显示全部楼层 |阅读模式
一个wordpress网站W,连接了两个不同的mysql数据库,分别是A和B,A是wordpress安装时自带的,B是在另外一台服务器上的创建的,现在前端uniapp程序要调用B上的数据库进行查询和读写操作,请给出一段示例代码。9 \" A% D, m5 }& ^# q" }
: r$ M' z& V, ~' G: k
首先,你需要在uniapp程序中使用合适的方式连接到数据库B。以下是一个示例代码,使用uniapp的`request`方法发送HTTP请求到B的服务器上,然后进行数据库查询和读写操作。
! N: p) {& @3 U3 K8 r3 S4 O  s; S* v3 W% D# c* |3 W3 h* A
```javascript
  h/ w# ?. G% h; u7 Y// 在uniapp中调用B数据库的示例代码7 A  o9 v$ u) a  h: o8 F
- d" l8 Q4 d' R4 b! `3 }
// 定义B数据库的服务器地址和端口号8 l- A/ F$ ]! x2 ?
const serverUrl = 'http://B服务器的地址:端口号';7 B! g  m1 x5 }
/ b  N) S: v0 g6 i/ U
// 查询操作& O! G$ Z, G; a
uni.request({& X: G' Q7 C# G
url: serverUrl + '/query', // 在B服务器上定义的查询接口
% m* J- ]7 W4 c. }$ Z& _method: 'GET',
3 E/ s3 H6 k5 v" U3 b3 Lsuccess: function(res) {# `. {. W0 u! t. \6 L' ~+ q$ [0 n
// 查询成功后的处理逻辑
& [2 C7 V) I) K* r  t/ m4 T# X1 `, tconsole.log(res.data); // 输出查询结果
* p( j3 |# K: N" Q. r0 u4 V},& U/ W# O% D8 K' i/ u" l
fail: function(err) {" C( h( t" {: N$ L
// 查询失败后的处理逻辑
. T2 O4 H  P4 q5 l3 Qconsole.error(err);2 {( ^' `7 l- b" P5 c3 I
}
' u- I& J3 m1 S( s});2 F( `+ d) s1 k" m' C" w% \
  h* M2 T$ C! ^1 z2 j$ T" e9 U, N
//读写操作  c: m; C0 j5 k6 u; F$ t$ C/ A2 T
uni.request({
1 w/ K3 W/ e5 R% ?( p- ]$ j, Iurl: serverUrl + '/write', // 在B服务器上定义的写入接口  A3 O- p1 J0 R
method: 'POST',4 |) \  @* \8 r7 `' }+ K
data: {
8 q3 x" C. h( U! n//传递的写入数据( s2 \/ G3 B6 O1 i& h- p
// 根据B数据库的接口定义,传递合适的参数) s" m% ^0 @4 Q; n2 o2 ^
},
# r8 \2 Z. \% T5 Z! i7 Y, U& gsuccess: function(res) {  J2 e. Q1 V5 f( E  t+ m
// 写入成功后的处理逻辑) H* F  |& ?& R$ R; t
console.log(res.data); // 输出写入结果
% _2 {8 z! q& x1 F. ?" C) }},
- o2 O# ?: s- wfail: function(err) {
9 U. [$ \( C( V( G+ v// 写入失败后的处理逻辑! w' y, f' ]( o- h( `
console.error(err);
! J2 {0 o+ X; ]+ I3 S% Y}; z2 }4 a2 Z, ]6 F: e4 i2 b, Q
});2 R. H* W; h: x7 S7 j7 W
```
  n9 d! d* d  ?0 O3 D1 Q* o8 d5 q  h' n* h' O, T0 o% c
请注意,上述代码中的`serverUrl`需要替换为实际的B数据库服务器的地址和端口号。同时,根据B数据库的接口定义,适当修改查询和写入操作的参数和数据。4 d8 x* d4 ]! t/ C
欢迎定制:13928122889
回复

使用道具 举报

527

主题

676

回帖

4608

积分

管理员

积分
4608
QQ
 楼主| 发表于 2023-9-16 22:46:16 | 显示全部楼层
我在uniapp前端页面上有一个表单,分别有姓名和手机号码,需要保存到B数据库,同时把保存的结果无刷新实时地回显到前面页面上。5 H' [0 v1 g8 S) [4 z
! Y9 S1 u; ]! s6 ?* w, W/ w& B6 B1 r$ h

1 A/ p2 ^: J: r2 Z" D1 I" `9 N* o如果你想在uniapp的前端页面上保存表单数据到B数据库,并实时回显结果,那么与W网站的关系是通过B数据库进行数据交互。
, ^2 X7 N" f4 ?) l3 E/ T4 s9 j
2 \. N" C/ h% Y$ k在这种情况下,你需要在B数据库的服务器上创建一个接口,用于接收前端页面发送的保存请求,并将数据保存到B数据库中。然后,将保存结果返回给前端页面,以便实时回显。  _, {) M, R% K, L

% I# E" Q) h8 K) d. I8 u! }以下是一个示例代码,展示了如何在B数据库的服务器上创建一个保存接口:0 A2 K6 Y9 @9 E, V
) l" ~# P' w2 u" X7 u( f7 m5 ]  x
```php8 n; N. Z4 Z1 `
// 在B数据库服务器上创建保存接口的示例代码(使用PHP)& M: C' X1 O0 Y; o" E( S" i
% R4 z/ t0 c2 c. l$ R. C2 Y) }
// 连接到B数据库) b- o# L& I. x) I1 x
$servername = "B数据库的服务器地址";; s& |, x+ g1 c' f8 J6 j3 Z& I
$username = "B数据库的用户名";% b' P+ n$ r" o: u% Z" g
$password = "B数据库的密码";( m6 C* y9 P4 j6 {1 o( E
$dbname = "B数据库的名称";
! `3 f% A. W' A9 i0 W1 e: k3 r+ i0 o, r
$conn = new mysqli($servername, $username, $password, $dbname);
! _' e& X. I7 o6 vif ($conn->connect_error) {+ @2 a" R0 {/ X. E
die("连接B数据库失败: " . $conn->connect_error);8 B0 z* u6 C5 C8 L2 X4 ~5 \
}
* J0 k8 ~3 w0 d) y4 K0 N# ]
" w1 }( i$ t% |7 ~( A//保存接口5 k0 q& D" Z; ~( O. a, S
if ($_SERVER["REQUEST_METHOD"] == "POST") {
" ^, h5 I. W0 _" w9 o$name = $_POST["name"]; // 表单中的姓名字段
7 k1 m' r3 t& d$phone = $_POST["phone"]; // 表单中的手机号码字段
! X" K7 m( p. w, h, Z1 \  v
' e" m% f# ]( R% J' @// 将数据保存到B数据库的表中
& m( v0 ?1 P! x) O$sql = "INSERT INTO 表名 (姓名, 手机号码) VALUES ('$name', '$phone')";
, `$ v7 ^1 K3 x3 E0 N8 ]if ($conn->query($sql) === TRUE) {: n  {/ ]2 z/ T0 B/ y! e2 a
$response = "保存成功";
7 ?0 ?0 T$ r5 X5 J} else {
2 C3 X# J+ |/ l& l: O9 U/ _' }$response = "保存失败: " . $conn->error;
% h9 k. G" z' f, e( K4 q/ x+ x}
+ ~2 ^5 n: I4 B$ {& w  U
1 c" T* `) M& o* S7 Q; R9 W// 返回保存结果给前端页面
* ]' o9 y: g! v7 ]8 e& e" [5 @echo $response;, |3 h* S* w8 I
}
7 K! @/ `7 p( O) X& d: h2 A+ o+ d2 P1 Y; \$ e! }+ {( F
$conn->close();+ M/ K6 ]# ~2 o% Z
```5 r5 o6 ?. w3 l' F0 p9 `' C8 l6 K

. r& a5 j' X3 {! p1 i2 Y  V在前端uniapp页面中,你可以使用之前提到的示例代码,将表单数据发送到B数据库的保存接口,并实时回显保存结果。( B( ]7 h: K' c7 D1 N+ t, X7 l( T7 G+ ~
( x4 N8 Z2 A- Z
请注意,上述示例代码中的B数据库的连接信息和保存接口的URL需要根据实际情况进行修改。同时,根据B数据库的表结构,适当修改保存接口中的SQL语句和表名。
欢迎定制:13928122889
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-24 05:13 , Processed in 0.015489 second(s), 4 queries , Redis On.

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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