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

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

[复制链接]

320

主题

485

回帖

3140

积分

管理员

积分
3140
QQ
发表于 2023-9-16 22:41:37 | 显示全部楼层 |阅读模式
一个wordpress网站W,连接了两个不同的mysql数据库,分别是A和B,A是wordpress安装时自带的,B是在另外一台服务器上的创建的,现在前端uniapp程序要调用B上的数据库进行查询和读写操作,请给出一段示例代码。
+ }; @. S' F$ C& l' s
$ c( r+ b2 A, }6 B1 e首先,你需要在uniapp程序中使用合适的方式连接到数据库B。以下是一个示例代码,使用uniapp的`request`方法发送HTTP请求到B的服务器上,然后进行数据库查询和读写操作。  h% }0 E( X- ?0 e

$ ^6 l3 X& A: R) p```javascript) \! l3 Q5 B: l1 ^+ k) @
// 在uniapp中调用B数据库的示例代码. p( b5 M7 o& s  H
; S, m$ k' L7 Y3 o
// 定义B数据库的服务器地址和端口号1 m9 I' c; s& [  E
const serverUrl = 'http://B服务器的地址:端口号';. K. H; \( F6 T, @4 o; _7 E( A
3 _" o- h6 O! P. V( n9 g; Q+ q$ {' N
// 查询操作# k; t& H/ `9 k( s. j
uni.request({
2 f# n! x- n" U. R0 Kurl: serverUrl + '/query', // 在B服务器上定义的查询接口
  o3 ]6 C$ }- j( `method: 'GET',2 L+ S6 g' a  J% f/ O% B7 u
success: function(res) {
1 N7 T, l+ G! n4 }. G# L6 U; e// 查询成功后的处理逻辑: Y5 E5 @' A9 f
console.log(res.data); // 输出查询结果
$ _  r2 }1 F, g) J3 `},% |) X! T7 h5 e# u2 V. o  A+ {) c
fail: function(err) {5 n" E/ g3 y3 Z! U% ?" @. S
// 查询失败后的处理逻辑
, N1 i% _& C" N6 M8 m) ^+ Jconsole.error(err);, ]" B& g9 F  K9 H2 u0 l: {
}! f8 R; G3 Y4 W/ A) b
});8 n, f9 Q- C0 y0 p; T3 y  C1 w/ V' u

. v" |6 D! [5 V3 b( ~1 y1 }//读写操作
6 f5 s$ L, {6 I5 S( V. Luni.request({
7 B, w+ Y+ _# c6 `7 yurl: serverUrl + '/write', // 在B服务器上定义的写入接口
4 y* }+ k5 D7 e0 m5 P. k& Amethod: 'POST',
- R5 M3 ?7 N9 _data: {
* c9 U) O8 B- U( ~! o- S- `4 |//传递的写入数据; f: ?& t! K4 g$ ~; ]/ R
// 根据B数据库的接口定义,传递合适的参数
: \" P5 t7 L" p2 n  O6 q% S},
/ Z, }$ @7 t. Z. t% N4 y# @* `9 Isuccess: function(res) {
9 z8 h- a3 T7 [- J, e: L! p5 }* X& z// 写入成功后的处理逻辑
& H% J, E0 N8 l; ?3 aconsole.log(res.data); // 输出写入结果8 N# L3 C& F9 z9 B( }0 ?8 P
},2 `, [, ^# h# W' y
fail: function(err) {5 W* |9 v8 E( O5 V( q% u4 n9 M
// 写入失败后的处理逻辑
0 P1 w+ P" b+ A/ E8 Nconsole.error(err);
9 u- b3 K7 ]1 }}7 ?7 j5 V$ E$ r% k$ o' m& q$ Z
});* J1 y& x( `" O. i7 W* |/ f
```
! J% t9 `0 h: q4 w2 G7 `: O* w) x
4 ^% h# C/ u% T* V( |# A请注意,上述代码中的`serverUrl`需要替换为实际的B数据库服务器的地址和端口号。同时,根据B数据库的接口定义,适当修改查询和写入操作的参数和数据。1 @" V% _! d" k+ r
回复

使用道具 举报

320

主题

485

回帖

3140

积分

管理员

积分
3140
QQ
 楼主| 发表于 2023-9-16 22:46:16 | 显示全部楼层
我在uniapp前端页面上有一个表单,分别有姓名和手机号码,需要保存到B数据库,同时把保存的结果无刷新实时地回显到前面页面上。# M/ h% M2 o1 w' \  p

, s; `* {! \2 U3 t* u$ ~) v) X$ R$ ~# B" e
如果你想在uniapp的前端页面上保存表单数据到B数据库,并实时回显结果,那么与W网站的关系是通过B数据库进行数据交互。
: _2 a2 u7 ?2 X/ v* p3 A- d9 w2 j1 I" |. z: u& y. _2 c7 b( \
在这种情况下,你需要在B数据库的服务器上创建一个接口,用于接收前端页面发送的保存请求,并将数据保存到B数据库中。然后,将保存结果返回给前端页面,以便实时回显。+ ~0 S' V- f0 ~* |+ Z  X

/ l9 p: \# `2 f9 i0 H% V% C  g7 l以下是一个示例代码,展示了如何在B数据库的服务器上创建一个保存接口:
3 U/ D  M3 D! T* j
+ [7 a/ k" Q; q# e7 j- q  N' z```php; ?) _4 C# B* l$ k. l
// 在B数据库服务器上创建保存接口的示例代码(使用PHP)- U2 m9 b) f5 ~
* E. W& ?3 Y; n* p3 X* P
// 连接到B数据库
( y5 G2 }$ k3 E: o$servername = "B数据库的服务器地址";. E; D3 t' G" y) j
$username = "B数据库的用户名";
3 D8 {8 X/ y! X* O  J$password = "B数据库的密码";
% k* Q9 y& f' E) A& \$dbname = "B数据库的名称";% d6 U8 ]/ _$ k- F+ O
& l! P' k& E0 K  l: M( W8 @
$conn = new mysqli($servername, $username, $password, $dbname);' J8 _- g& Z) J5 y8 o3 c& q/ u
if ($conn->connect_error) {+ F5 D# O. j& T& I3 V3 U4 u4 B) C8 @( W
die("连接B数据库失败: " . $conn->connect_error);0 m+ C9 u, w( B% T. l9 j8 P
}
" V7 ~# M5 ^% {6 T2 e. J; Q7 l) ?5 @2 E  e0 R+ Y8 W; k
//保存接口3 u; \% B9 Q6 s& R1 D. T
if ($_SERVER["REQUEST_METHOD"] == "POST") {
* u, \7 j( }  C$name = $_POST["name"]; // 表单中的姓名字段
5 ^9 l/ p; l, b$phone = $_POST["phone"]; // 表单中的手机号码字段. {" L# M( d# u1 V9 J( W- T1 ?

( [9 m  I& p8 |6 S: G% k- l// 将数据保存到B数据库的表中
/ S2 T. S& f- b: d$sql = "INSERT INTO 表名 (姓名, 手机号码) VALUES ('$name', '$phone')";( F3 ^9 b* z2 J0 d' Y5 ?: e3 }
if ($conn->query($sql) === TRUE) {- S7 |6 V. `, p7 j9 ^
$response = "保存成功";! H. M, d+ X2 T" r5 m$ w+ p, H9 }
} else {
" N8 v" L6 a- B* \! E3 k+ }$response = "保存失败: " . $conn->error;
) m$ |( v( t- c, c5 A7 k+ ?}1 o! K, p$ Y! g+ J6 C
/ s/ K7 U7 [! ?6 l: w% P
// 返回保存结果给前端页面
  m8 I+ L- Z6 q/ Y0 yecho $response;
: t- f" v. |: Z* ]5 A. c! o; Q}
( ?+ H% `" R! m: J5 S% \2 W
$ o2 p/ a, Y. U( k, v- m$conn->close();
- H" u& x) m' L6 I3 t8 W3 n```
/ n4 n$ O! g6 J" U/ S; \3 T' h1 F0 L6 g, Q2 f5 M5 B: @
在前端uniapp页面中,你可以使用之前提到的示例代码,将表单数据发送到B数据库的保存接口,并实时回显保存结果。  [" j% {& {7 W* L/ m. D5 T6 z

$ u1 G) p  [7 H  n' C请注意,上述示例代码中的B数据库的连接信息和保存接口的URL需要根据实际情况进行修改。同时,根据B数据库的表结构,适当修改保存接口中的SQL语句和表名。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-19 13:44 , Processed in 0.069016 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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