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

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

[复制链接]

315

主题

479

回帖

3001

积分

管理员

积分
3001
QQ
发表于 2023-9-16 22:41:37 | 显示全部楼层 |阅读模式
一个wordpress网站W,连接了两个不同的mysql数据库,分别是A和B,A是wordpress安装时自带的,B是在另外一台服务器上的创建的,现在前端uniapp程序要调用B上的数据库进行查询和读写操作,请给出一段示例代码。
/ e% U3 z9 O8 c. r5 y; j  ~$ ?0 I5 a/ h  v5 f* Y  O: U$ n; Q" P
首先,你需要在uniapp程序中使用合适的方式连接到数据库B。以下是一个示例代码,使用uniapp的`request`方法发送HTTP请求到B的服务器上,然后进行数据库查询和读写操作。
7 r3 ~. U- M+ d3 b! k3 ]- m# l% @  ~! j+ W5 V1 e, v# }* K- q
```javascript; d' [& G/ v7 E( W" ]
// 在uniapp中调用B数据库的示例代码; H  o- \7 H0 d/ w+ v
) q6 \/ l+ d- T
// 定义B数据库的服务器地址和端口号
! Q, ~9 [  |( A, y8 |6 dconst serverUrl = 'http://B服务器的地址:端口号';
) R- k/ _6 S! s7 Z, ^! i, g/ A% ]: s) _
// 查询操作
3 I3 w( k1 J  Muni.request({
) e* x0 N% S& @2 [url: serverUrl + '/query', // 在B服务器上定义的查询接口
- F# T" q& }6 O$ |method: 'GET',! E8 ?' }6 ]1 I  K. t' ]; J' K
success: function(res) {
- G4 f' o  S8 X: V+ e7 F) g// 查询成功后的处理逻辑
- D5 P3 U4 Q8 N5 oconsole.log(res.data); // 输出查询结果
6 r* O3 e0 x. w3 X},
  l7 J; a: {* F- e9 }) Vfail: function(err) {
  S" @; m9 k  T) p# O+ o// 查询失败后的处理逻辑. ]# p$ n7 G" d4 m; i! Q
console.error(err);5 n9 S4 w& u6 U- W1 M7 ?
}; V0 h; ]2 `2 n$ {/ W& y3 U3 ~5 S( P
});
0 N% a: C6 \7 W' r) p/ v& j! y) L: M. [" R. n! y
//读写操作- P/ ?7 J/ `7 l( P- Q
uni.request({3 ^( ~) k9 J' j  U) X) [; Y6 @
url: serverUrl + '/write', // 在B服务器上定义的写入接口
4 }- P, p9 H9 T0 ~" [( ]) ]9 Amethod: 'POST',
# M6 m  n. A% p9 o4 z, Ddata: {
, a% m) W5 `. Y//传递的写入数据! G9 T6 u! G! \, t5 _
// 根据B数据库的接口定义,传递合适的参数
5 @8 l  {! t, W" u* [, z' i},
! N9 S# i& R; V3 g3 a5 Msuccess: function(res) {
& q' L* X( N% @0 _$ M// 写入成功后的处理逻辑
" _7 H# O% ^( n4 d) f/ c3 Rconsole.log(res.data); // 输出写入结果
3 c% v" ]) Y, l7 h},! R* v, S$ U% D$ ^5 `9 \
fail: function(err) {! Y0 r) G& }$ f, [# a+ t
// 写入失败后的处理逻辑
; D7 O3 P, e0 w7 `console.error(err);: x5 t+ O! T; G/ Z' D# ]
}5 N3 _$ H/ B4 x0 s0 g: B4 W" }4 ~
});
! [- v( x5 F9 g' w5 t* S1 w```- g: S1 `# g$ |- z& H% C
3 g/ b0 z+ c, \3 n& m0 Q
请注意,上述代码中的`serverUrl`需要替换为实际的B数据库服务器的地址和端口号。同时,根据B数据库的接口定义,适当修改查询和写入操作的参数和数据。
4 |" Y  K9 Q. g8 A" \6 o& N
回复

使用道具 举报

315

主题

479

回帖

3001

积分

管理员

积分
3001
QQ
 楼主| 发表于 2023-9-16 22:46:16 | 显示全部楼层
我在uniapp前端页面上有一个表单,分别有姓名和手机号码,需要保存到B数据库,同时把保存的结果无刷新实时地回显到前面页面上。6 f5 o9 `8 w3 ?) h' B; D
0 H! S* e. h+ H$ ~
; }: B: X$ u: f/ A6 m2 ~8 W. `
如果你想在uniapp的前端页面上保存表单数据到B数据库,并实时回显结果,那么与W网站的关系是通过B数据库进行数据交互。/ @1 c8 o6 S* ?- \! V% m& F

4 Z8 N# X) A4 {" {, a在这种情况下,你需要在B数据库的服务器上创建一个接口,用于接收前端页面发送的保存请求,并将数据保存到B数据库中。然后,将保存结果返回给前端页面,以便实时回显。' e' f- l1 V! U8 N- ~
7 i' R. g) ]7 k! y7 i
以下是一个示例代码,展示了如何在B数据库的服务器上创建一个保存接口:
% o( l) f  Y) ?9 I! X6 ?1 |2 m4 @( m0 L& g6 a1 A7 `# b4 Y
```php3 B$ S: h3 Q1 k( t# i5 M0 L
// 在B数据库服务器上创建保存接口的示例代码(使用PHP)
0 }0 W* X1 w1 D" [3 v  f) N+ T) w; G" u* G; J* Y5 g
// 连接到B数据库2 E6 v3 e6 X# F8 h
$servername = "B数据库的服务器地址";
( e$ T. s  W* ]: @# h$username = "B数据库的用户名";
9 `1 m! s5 o: R( M) s2 j  \0 B$password = "B数据库的密码";
: B, D. f3 [" k+ T9 \2 t$dbname = "B数据库的名称";' G# ?$ b8 ~" S/ I: v, S9 o0 L
: D$ o. a5 H6 s8 u. Q
$conn = new mysqli($servername, $username, $password, $dbname);* E: E( @. Y! z! ]/ S  n. t
if ($conn->connect_error) {& s5 c# r0 t( a$ Z( e
die("连接B数据库失败: " . $conn->connect_error);
% u! A( [8 m! m- I' Q2 q6 w}+ y" [5 q) D2 A- b2 s' J
3 O7 k' y6 P. k+ P3 W: V
//保存接口
+ d( v# b& p# ~( z5 a! Q: Iif ($_SERVER["REQUEST_METHOD"] == "POST") {( c4 ?# u& p& [6 }% e7 K- ^' s8 i$ Q
$name = $_POST["name"]; // 表单中的姓名字段
  O7 l& O% I9 i  [4 r# n6 @0 U: r$phone = $_POST["phone"]; // 表单中的手机号码字段; C& {0 X( ?2 D- a

: v( Z  Q- u( E. P( @) b// 将数据保存到B数据库的表中, U1 G* Y2 z- e  \' H- K. D3 q
$sql = "INSERT INTO 表名 (姓名, 手机号码) VALUES ('$name', '$phone')";5 l) w- N8 L* K. {: @
if ($conn->query($sql) === TRUE) {9 ^( {: S1 `2 ?2 o0 Q) w+ Z) T1 c6 A
$response = "保存成功";
8 L3 B1 {4 [2 n} else {
& T4 T- q5 i6 o8 U: D$ k$response = "保存失败: " . $conn->error;
/ D  j  v( x+ `) R$ m+ ~) J& h3 p}* n+ c, K9 P$ z

8 H2 o: {+ i! v2 g' a// 返回保存结果给前端页面! ?  f  _6 |( H0 I/ T: L3 V
echo $response;  x! O; D' |4 B- L4 D3 K2 f' {
}
" G8 l" D1 {' S8 Z+ N0 N3 }( w3 K- [. t* y0 X
$conn->close();
  Q8 L: G% _8 G' g```
1 H' c# P( c: f, D! S/ q  l( V9 l) c( {2 q/ ]
在前端uniapp页面中,你可以使用之前提到的示例代码,将表单数据发送到B数据库的保存接口,并实时回显保存结果。& o7 q) I6 A' O% {5 Z1 a) U) u- {; a
' k0 Q8 g8 `) B( Z( j2 i- P
请注意,上述示例代码中的B数据库的连接信息和保存接口的URL需要根据实际情况进行修改。同时,根据B数据库的表结构,适当修改保存接口中的SQL语句和表名。
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|通达产控投资 ( 粤ICP备2023021749号-1|粤公网安备 44030402006137号 )

GMT+8, 2025-4-25 03:50 , Processed in 0.069616 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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