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

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

[复制链接]

347

主题

564

回帖

3679

积分

管理员

积分
3679
QQ
发表于 2023-9-16 22:41:37 | 显示全部楼层 |阅读模式
一个wordpress网站W,连接了两个不同的mysql数据库,分别是A和B,A是wordpress安装时自带的,B是在另外一台服务器上的创建的,现在前端uniapp程序要调用B上的数据库进行查询和读写操作,请给出一段示例代码。
, \" @! j/ b: a+ P5 K7 I/ M
/ ?6 \  B! G, b5 F' V$ x首先,你需要在uniapp程序中使用合适的方式连接到数据库B。以下是一个示例代码,使用uniapp的`request`方法发送HTTP请求到B的服务器上,然后进行数据库查询和读写操作。
/ f* F5 d8 W+ x  O# W7 p
; f, S; z# x2 f* h```javascript! M. `2 }5 A3 g  W9 p) T5 y
// 在uniapp中调用B数据库的示例代码
- u$ }3 u& g: J4 t1 Y: {
$ m0 w# C+ b3 `/ M// 定义B数据库的服务器地址和端口号
7 d$ l6 t0 z8 }& `% k! d  q) Jconst serverUrl = 'http://B服务器的地址:端口号';: c% N, L; d/ n
; A8 n; h* e$ O8 s
// 查询操作
6 y3 ^( b1 d- ]9 q$ Y3 K# y2 O$ O8 ouni.request({  v0 U- V/ X# c4 }0 ~7 B
url: serverUrl + '/query', // 在B服务器上定义的查询接口
8 k7 q* B. p2 R! }1 Gmethod: 'GET',
1 |' ]+ c- k2 |5 I( n+ G4 N7 Ssuccess: function(res) {8 R' i3 g' s: F8 R# l* \
// 查询成功后的处理逻辑, q- u7 s. Q$ v
console.log(res.data); // 输出查询结果
. h8 }  b4 {5 X# d# X' s0 @},# Y/ C( ]5 R# \$ G% b; G% u9 h' T
fail: function(err) {
, q$ J) u( l0 m8 F// 查询失败后的处理逻辑3 f5 W4 l' i8 E) I. N6 |; `
console.error(err);
! z! p$ u) B  P# ~! m}& t7 B0 H/ }- G. ?7 @9 d
});
( d& v; P$ `" ]7 Z$ m, g+ @- D: R: F* m
//读写操作% e8 R& T) z9 {7 W5 F
uni.request({- t- i& c! k( Z+ D8 l
url: serverUrl + '/write', // 在B服务器上定义的写入接口% y  A! B" m3 d4 ~( Y+ @
method: 'POST',
" w4 y6 m- m3 S( g+ s& S0 D7 A, \data: {8 h2 w6 c2 V' b; V$ ?
//传递的写入数据
9 z- q8 j% I( W' a5 t. I9 u// 根据B数据库的接口定义,传递合适的参数8 Z/ s0 p' L, F- W" w
},
0 c* k7 G7 r, y9 |success: function(res) {. _' H$ }8 Z2 Z* e9 U4 ]
// 写入成功后的处理逻辑
9 j8 L* h+ }8 v( _+ ?& l4 n' o! cconsole.log(res.data); // 输出写入结果7 x, L* `, T, l9 G
},5 t7 |- V; F9 H$ s- F; L
fail: function(err) {3 ]& m% H% i7 x8 H9 F5 F8 {0 Q4 N
// 写入失败后的处理逻辑; n* j$ _+ X$ J/ f/ j! s
console.error(err);
3 c" U; i2 e$ G- I2 R" A! A% H: Z}
, J0 R) _8 ]. W) t});
! A' o4 L7 d- d# n' p! o2 j```
0 W% G8 C9 N% L# p0 q) G5 h  o. L! d3 g1 I
请注意,上述代码中的`serverUrl`需要替换为实际的B数据库服务器的地址和端口号。同时,根据B数据库的接口定义,适当修改查询和写入操作的参数和数据。- R8 v8 k% `: `% ~5 A( `, t: g( P  H
回复

使用道具 举报

347

主题

564

回帖

3679

积分

管理员

积分
3679
QQ
 楼主| 发表于 2023-9-16 22:46:16 | 显示全部楼层
我在uniapp前端页面上有一个表单,分别有姓名和手机号码,需要保存到B数据库,同时把保存的结果无刷新实时地回显到前面页面上。/ b1 U$ F: j3 ?) {! n

0 ?" b5 e+ V+ j' P# Y; j2 Z$ ?7 u# A8 F: Y) [: h  @' r7 b
如果你想在uniapp的前端页面上保存表单数据到B数据库,并实时回显结果,那么与W网站的关系是通过B数据库进行数据交互。. n5 @1 F8 e9 ?; c7 X% E
& }6 l0 a2 T6 b2 v( u5 }
在这种情况下,你需要在B数据库的服务器上创建一个接口,用于接收前端页面发送的保存请求,并将数据保存到B数据库中。然后,将保存结果返回给前端页面,以便实时回显。. m" K/ ?0 ]9 r* j) _2 J4 Z8 l) H

$ Z9 v- `! C5 y% @以下是一个示例代码,展示了如何在B数据库的服务器上创建一个保存接口:
8 G8 c! t" m8 F# n0 S2 L" J
7 ^  N2 V- P6 M) B```php
4 e- m" w6 J& @( l// 在B数据库服务器上创建保存接口的示例代码(使用PHP)( Y, H% k$ F' [" @& ^2 @' W0 L

/ {# \: |2 U, D: t* _// 连接到B数据库
, P( K0 i3 H0 W) B; @- u; ^9 `* B$servername = "B数据库的服务器地址";2 V7 u1 ~% D6 w9 `7 K4 }
$username = "B数据库的用户名";8 l2 f" U! h$ ~5 D+ v% e/ l
$password = "B数据库的密码";4 M: G8 t, a  ]: ]' M+ _
$dbname = "B数据库的名称";+ [' |# l0 y6 [  @% p
5 I( r$ v( j- L/ L
$conn = new mysqli($servername, $username, $password, $dbname);
2 h& {' C9 _' A" e3 a: yif ($conn->connect_error) {
; g1 V  k3 \. E' `9 Z7 K, E: ]9 Odie("连接B数据库失败: " . $conn->connect_error);4 D. H/ x* w' h$ f- F& @
}
; z& M, ]* g% n# O; x; J, Q: q* B0 _' p
//保存接口# r7 t. o9 X% n5 i! ]) g
if ($_SERVER["REQUEST_METHOD"] == "POST") {+ Y: n" ^7 D8 F
$name = $_POST["name"]; // 表单中的姓名字段9 E4 @: @$ G4 u1 B; f- e  g
$phone = $_POST["phone"]; // 表单中的手机号码字段
1 k, I1 I5 F% V1 T: H7 ^! z1 [+ Q. G0 l, @" l$ _6 w
// 将数据保存到B数据库的表中, `5 h" M5 B' ~
$sql = "INSERT INTO 表名 (姓名, 手机号码) VALUES ('$name', '$phone')";+ @0 O! N% P$ [/ q+ o: X$ i
if ($conn->query($sql) === TRUE) {
( L7 r0 d% A6 h+ V4 a" ]$response = "保存成功";3 m* Z8 \! N& L& U& Z. b
} else {
9 j. y( w' m4 ~% p, N: J$response = "保存失败: " . $conn->error;
. c, D" T% Z% w" ^}  M2 J. @( l: z# _1 A$ o; f: E
  ?# @! K( E, o
// 返回保存结果给前端页面
- h- `4 `- y5 D( R( F/ L3 J! g' Techo $response;& S8 C* N# A/ E0 P9 Z5 p
}
+ j  O( z8 f  }: J6 T2 a1 X! Z$ _0 C# B6 l
$conn->close();
  R3 O8 b3 ^. _" L```
2 R) o' P$ K; b  j% z
) J& H$ M: c  H# v: r2 ~/ y! |在前端uniapp页面中,你可以使用之前提到的示例代码,将表单数据发送到B数据库的保存接口,并实时回显保存结果。. z. x* P+ }8 p& b+ P- _/ w2 l# g  c/ t
: R/ E8 ~/ @) `$ W& R
请注意,上述示例代码中的B数据库的连接信息和保存接口的URL需要根据实际情况进行修改。同时,根据B数据库的表结构,适当修改保存接口中的SQL语句和表名。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-10 16:50 , Processed in 0.011179 second(s), 2 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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