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

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

[复制链接]

408

主题

596

回帖

4038

积分

管理员

积分
4038
QQ
发表于 2023-9-16 22:41:37 | 显示全部楼层 |阅读模式
一个wordpress网站W,连接了两个不同的mysql数据库,分别是A和B,A是wordpress安装时自带的,B是在另外一台服务器上的创建的,现在前端uniapp程序要调用B上的数据库进行查询和读写操作,请给出一段示例代码。8 N& s+ L7 z$ H* {$ C% A

5 J% m+ n$ {% A; B! S; ^' d4 O2 B* |首先,你需要在uniapp程序中使用合适的方式连接到数据库B。以下是一个示例代码,使用uniapp的`request`方法发送HTTP请求到B的服务器上,然后进行数据库查询和读写操作。# u- S% D  T3 V; D8 Y- i/ s# F1 ]

! }1 z# U- b4 I; Z```javascript
2 f0 A6 f* N( P  T// 在uniapp中调用B数据库的示例代码
3 N: [# V" a* n$ D% c  ?5 d6 d/ ^& D1 g) ^( d( p* R5 G- d( p
// 定义B数据库的服务器地址和端口号
1 R/ X/ r8 x3 G( M" m4 y$ `+ J1 F$ cconst serverUrl = 'http://B服务器的地址:端口号';" m' m/ h. C$ _: u$ T

; C- b1 @6 i! G0 V1 L: g// 查询操作
* U4 q  J6 |5 p! Iuni.request({
8 y! i- D- b8 V. y' D) o" `& F+ Curl: serverUrl + '/query', // 在B服务器上定义的查询接口
( u2 J; V% N8 s3 T& W1 C2 \% l& U& jmethod: 'GET',
! R$ ]3 n8 A$ {5 gsuccess: function(res) {
' i5 U6 k3 q8 H) x// 查询成功后的处理逻辑$ z, {8 m! b" k
console.log(res.data); // 输出查询结果  J/ s9 w. d1 v0 r
},2 m6 K7 a. e& w9 S! a+ c0 |1 L
fail: function(err) {% A# H' V; K6 L6 |
// 查询失败后的处理逻辑+ i9 d' E6 j  t5 G- |
console.error(err);; J  G4 O5 ]7 x' f8 P4 @+ m
}( e2 p3 G8 t5 h
});
- a/ O3 r2 J9 b) T% g2 r
" I- V/ z6 w, E: _- j, N//读写操作
, }9 Z: Q: ~2 V3 q4 F& ~uni.request({  y8 S6 ]8 S5 ]+ o9 C  N
url: serverUrl + '/write', // 在B服务器上定义的写入接口. C- i5 B" c' \
method: 'POST',& V3 ?  u5 L. }/ @6 {  l# E, ^7 q' U: D
data: {: {/ }9 j; j, W8 E9 ]
//传递的写入数据0 D+ z+ T( {/ W8 k7 n0 `% g
// 根据B数据库的接口定义,传递合适的参数# V; r1 c, V4 g8 s
},
7 }% h' V. `( c" `+ L5 Msuccess: function(res) {
$ u- I( J3 ^3 M* v7 M// 写入成功后的处理逻辑4 [  N$ f6 Q# H5 k" q
console.log(res.data); // 输出写入结果2 S  F1 `  W: U% B
},
/ x  z8 }7 j1 ffail: function(err) {6 p9 a) Z0 D1 u. l5 I) ^+ `& g0 K+ T4 A
// 写入失败后的处理逻辑$ Z$ A. S8 f0 ]
console.error(err);
8 s0 Y0 o( q* i3 ?+ y& j}
; s# P& w) c+ o, X/ i) m; @( s});
8 {9 s+ \4 \7 x& ]```4 C/ W3 E8 o2 x3 u+ y
% K+ }  n7 }3 f: y
请注意,上述代码中的`serverUrl`需要替换为实际的B数据库服务器的地址和端口号。同时,根据B数据库的接口定义,适当修改查询和写入操作的参数和数据。
/ V4 u- V. ]+ U6 C5 e& [. J# Q. V% t
回复

使用道具 举报

408

主题

596

回帖

4038

积分

管理员

积分
4038
QQ
 楼主| 发表于 2023-9-16 22:46:16 | 显示全部楼层
我在uniapp前端页面上有一个表单,分别有姓名和手机号码,需要保存到B数据库,同时把保存的结果无刷新实时地回显到前面页面上。
4 Q* X; [( S! G; D) N
: ^* i# P' H. W$ V" {3 R
( R' F# _. V6 E/ {如果你想在uniapp的前端页面上保存表单数据到B数据库,并实时回显结果,那么与W网站的关系是通过B数据库进行数据交互。! g0 e, N0 Y1 A; S9 l

/ \6 }8 g/ W5 I% I在这种情况下,你需要在B数据库的服务器上创建一个接口,用于接收前端页面发送的保存请求,并将数据保存到B数据库中。然后,将保存结果返回给前端页面,以便实时回显。
& j( y* t, S% E' D" b. c' S/ d* I
) m# E8 E% y. Z! |$ o: {以下是一个示例代码,展示了如何在B数据库的服务器上创建一个保存接口:
7 q; Q8 E- F5 Y5 H6 J$ H8 D8 V" F
) c$ b) l$ q: j6 J! S```php
1 J6 S2 R4 @- N9 {5 t4 c$ e// 在B数据库服务器上创建保存接口的示例代码(使用PHP)
& x! [4 M* M! s% K6 {! {! o3 A3 ~7 `9 R3 T. D+ Z' k1 \9 f
// 连接到B数据库- _5 D! Q9 E+ V  M8 g
$servername = "B数据库的服务器地址";
2 n+ |0 H4 G+ w. K3 c$username = "B数据库的用户名";2 B0 ?; r. k5 i2 V7 C
$password = "B数据库的密码";. S2 M. z  W; A, ]. y/ J2 \7 i, p8 b
$dbname = "B数据库的名称";9 Q2 c- ^+ c, o' J
% T/ h# M% N  O! j
$conn = new mysqli($servername, $username, $password, $dbname);/ |: S# [2 f5 U  z1 ?! F5 X
if ($conn->connect_error) {
! h* U$ z* _! g: Q( jdie("连接B数据库失败: " . $conn->connect_error);
; ~/ y) G. V! N, t5 X, y! b}
) ^  ~) U4 J& C2 d2 u. ^; G* F% ?3 r( I" M
//保存接口
0 }+ H. D7 g3 b, y+ ~& Sif ($_SERVER["REQUEST_METHOD"] == "POST") {
# S% O& q0 c$ |- ]( w$ j2 _. ?& F$name = $_POST["name"]; // 表单中的姓名字段7 d7 R) Z7 x# Y( g" s5 g
$phone = $_POST["phone"]; // 表单中的手机号码字段
. t2 T0 ?6 l- L. x' y( l* s+ U# M' ?+ U
// 将数据保存到B数据库的表中
/ Q1 G! `& g3 _$sql = "INSERT INTO 表名 (姓名, 手机号码) VALUES ('$name', '$phone')";5 e# x' E( d8 O" Z1 B( R# P
if ($conn->query($sql) === TRUE) {
: r6 y0 N: ?5 E8 B* m  t# G6 I5 Q$response = "保存成功";
/ Q3 [" n9 n3 i* i. m5 y! a9 c} else {& E( P+ T5 S/ V( Q% S/ r! d& N$ B( l2 }
$response = "保存失败: " . $conn->error;
5 x& K  z2 K" N5 s  t}
9 @5 N; R- p) [1 |2 A. m5 ?+ z
4 r3 s6 U7 l4 h3 [& j6 g, Q' l- J0 p8 }// 返回保存结果给前端页面& o3 i4 j: |9 |0 ?9 Z
echo $response;' x; `2 P8 I0 L$ }! i# k$ |% H" V
}" c( G. L" h' {  v( V2 {, W
+ e: T( C2 V  O7 N! D8 Z1 @! e
$conn->close();
: z  T! l) ]& X6 K, H. E```8 @( e3 U7 T/ X5 y' l* V2 c
3 v$ X, O% H6 D
在前端uniapp页面中,你可以使用之前提到的示例代码,将表单数据发送到B数据库的保存接口,并实时回显保存结果。
" Q2 z: X  z+ ~* |1 B
" q' V# T& K# k8 N; }请注意,上述示例代码中的B数据库的连接信息和保存接口的URL需要根据实际情况进行修改。同时,根据B数据库的表结构,适当修改保存接口中的SQL语句和表名。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-10 06:22 , Processed in 0.536205 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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