找回密码
 立即注册
查看: 1550|回复: 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上的数据库进行查询和读写操作,请给出一段示例代码。
/ ]  L6 B2 ^% V
1 |5 l( A7 b5 j4 W) f3 C8 n# Z首先,你需要在uniapp程序中使用合适的方式连接到数据库B。以下是一个示例代码,使用uniapp的`request`方法发送HTTP请求到B的服务器上,然后进行数据库查询和读写操作。+ S* Z% }! b9 `  C8 T9 _( _

8 |  Q6 D% F% U1 J, |( {```javascript
* t' l2 T2 G0 ^: y// 在uniapp中调用B数据库的示例代码
7 ~( e5 Q0 I7 h3 d4 n7 r3 [/ j% r& [. T: i, O, [* R
// 定义B数据库的服务器地址和端口号
* o5 B; {5 I* @5 oconst serverUrl = 'http://B服务器的地址:端口号';; a" b& z7 `8 h2 T

' ?- K9 T( [4 V+ N1 a) D: b// 查询操作
. ^" n/ l7 Q/ c# Vuni.request({1 P4 H0 J8 A5 O' ^: s9 {+ V
url: serverUrl + '/query', // 在B服务器上定义的查询接口2 o8 W1 Z+ `) B/ Q' C' n7 V
method: 'GET'," W2 t' @- f+ ^2 d9 F
success: function(res) {$ U9 e6 }  l) w1 [9 Z2 L
// 查询成功后的处理逻辑  Y7 D6 m3 r3 G. r& z
console.log(res.data); // 输出查询结果5 n; M, M5 m2 G8 T6 T% T
},
( Q6 L* M/ O# n3 Q, x6 \; `fail: function(err) {
$ Y/ D9 H( i1 y$ i  y" ~* k" X2 S// 查询失败后的处理逻辑/ p- x% R$ x9 C4 A! R
console.error(err);0 e% G* L- e( F( ]: W7 b5 K
}/ }4 f+ P  c7 O* ^" S
});. ]4 C2 m+ r' J( y* _' p9 h

$ C( j: q* u/ U' W" M. @8 f1 f/ P' x//读写操作
" d' j( l0 x2 t) t) ]! u$ f8 m7 iuni.request({
* E: n5 E2 t3 `( M8 u& p9 wurl: serverUrl + '/write', // 在B服务器上定义的写入接口) [' |3 l8 l# u/ x: c: R% I' A
method: 'POST',
" ]% d3 X1 G9 c6 \9 g6 w4 ddata: {( ~$ z8 }- Q$ e( @; D- l% u
//传递的写入数据; Z/ e, t9 H+ W
// 根据B数据库的接口定义,传递合适的参数
$ T! Y  z/ _2 {# s  e3 {; }},
# C0 ?' T5 d) K  x2 B) ^2 Ksuccess: function(res) {. i# R( r. Z% A
// 写入成功后的处理逻辑8 F1 c! a  D2 F3 `( |7 u7 r
console.log(res.data); // 输出写入结果9 J9 C& Q, o2 |+ X  @. b1 S* N
},/ V* b* R& A: f  P8 h& N/ N
fail: function(err) {
' L/ O, ^' {. C9 T4 y& V, E- i0 a( I5 x// 写入失败后的处理逻辑
1 ]' m+ X; w# M* J( ]$ H/ s7 `console.error(err);
' e. Q; A7 C0 k0 m0 g& L, z$ x1 D}; w, {. X1 f) {6 C  d- ?# k
});. C2 k3 O( |) f6 ^: V6 Y, s- z
```( K- G+ O! [+ u& f& u  Y' ~

7 n, N- C' }# b# Q! l& |请注意,上述代码中的`serverUrl`需要替换为实际的B数据库服务器的地址和端口号。同时,根据B数据库的接口定义,适当修改查询和写入操作的参数和数据。, [* Y/ |3 |- M0 w, i( T% B4 f
回复

使用道具 举报

408

主题

596

回帖

4038

积分

管理员

积分
4038
QQ
 楼主| 发表于 2023-9-16 22:46:16 | 显示全部楼层
我在uniapp前端页面上有一个表单,分别有姓名和手机号码,需要保存到B数据库,同时把保存的结果无刷新实时地回显到前面页面上。
, E- |" W& i: R& p+ E0 E9 B5 j# g0 p! P3 g/ z3 M; d. U
$ J7 v9 _6 \) Y/ n4 M
如果你想在uniapp的前端页面上保存表单数据到B数据库,并实时回显结果,那么与W网站的关系是通过B数据库进行数据交互。
" u4 q) J8 _" l9 N5 @' W
- }; V. u4 o! T) q, l$ R7 l; i4 y在这种情况下,你需要在B数据库的服务器上创建一个接口,用于接收前端页面发送的保存请求,并将数据保存到B数据库中。然后,将保存结果返回给前端页面,以便实时回显。7 O2 r" {" O# O# F; {6 N* h
3 T0 @3 q4 ~0 b# N* r
以下是一个示例代码,展示了如何在B数据库的服务器上创建一个保存接口:# T& w/ q. t/ m* T- g1 h. ?5 X& i+ Y% M

% o$ y5 T) ^( l5 ?2 y```php
6 r* L0 c! \% F0 x. O- i# F+ M// 在B数据库服务器上创建保存接口的示例代码(使用PHP)
2 t* \! y) X; g
1 S% o9 m) ~4 c6 H+ t$ z// 连接到B数据库+ ]# B8 C; n! R. N* B& {  a/ w5 F
$servername = "B数据库的服务器地址";
% ^  b5 A2 N4 L- L+ l+ y$username = "B数据库的用户名";- t& }0 n4 n  {6 Q
$password = "B数据库的密码";! y' D( `: i: Z$ B  Y! {4 i( T4 a
$dbname = "B数据库的名称";
- Y* g" [4 {$ P# B7 Z. ?: l( G5 q# B& Q2 n
$conn = new mysqli($servername, $username, $password, $dbname);
" Y; D% V# E) v$ n9 q# Iif ($conn->connect_error) {
- h+ k; \* p  q+ k: _die("连接B数据库失败: " . $conn->connect_error);
; Q' @3 E  X4 l1 R}; B2 C, ^5 j6 F( i* \" d# v

: o0 X: d) a. Y7 n: l. s2 l//保存接口
$ T4 H9 T1 t% e/ M, c6 U0 oif ($_SERVER["REQUEST_METHOD"] == "POST") {+ s/ a+ _/ G& C6 T. g7 T  i
$name = $_POST["name"]; // 表单中的姓名字段1 q1 X, p; a% r' W" W
$phone = $_POST["phone"]; // 表单中的手机号码字段4 `$ a' Z3 E: @- J. |% ~. Z
) U& m" `/ e  w2 T& W$ O
// 将数据保存到B数据库的表中
% l9 T5 u% l' t( _$sql = "INSERT INTO 表名 (姓名, 手机号码) VALUES ('$name', '$phone')";2 y' _5 W8 V' V; e" C; ^
if ($conn->query($sql) === TRUE) {
3 D- V0 z" {* Z0 u$response = "保存成功";
, Z) ]0 W9 f3 V9 P. Q1 J} else {
: z2 Q) S  x! L" q% J* ^$response = "保存失败: " . $conn->error;
2 @1 ~0 o, E8 X7 a$ W. I$ E}
8 K$ A& ?8 d% g4 i! G( E5 |  u; \7 _8 W8 r
// 返回保存结果给前端页面! |: E; d# J# Z) ^8 d2 ^+ _; B  ]
echo $response;
: ^  Q3 o4 y$ J% y/ ^5 O" i# y! m& g}
" E% ?% u! E6 {, R0 L
3 l8 D3 F( t5 m) Y3 M5 u5 }$conn->close();
; h3 w2 K& ~+ U0 L( H$ Y. H```# J! i7 O( ]9 Q+ w) w

; K# Z7 h) t/ h+ }0 I在前端uniapp页面中,你可以使用之前提到的示例代码,将表单数据发送到B数据库的保存接口,并实时回显保存结果。. `5 _" E; Z, J9 _
( F0 ]6 I( r7 _) y" A
请注意,上述示例代码中的B数据库的连接信息和保存接口的URL需要根据实际情况进行修改。同时,根据B数据库的表结构,适当修改保存接口中的SQL语句和表名。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-11 17:23 , Processed in 0.566112 second(s), 21 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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