找回密码
 立即注册
查看: 1301|回复: 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上的数据库进行查询和读写操作,请给出一段示例代码。4 |1 H. w4 G/ T8 I& w% ]

% Q6 w0 R- j+ F* I! H首先,你需要在uniapp程序中使用合适的方式连接到数据库B。以下是一个示例代码,使用uniapp的`request`方法发送HTTP请求到B的服务器上,然后进行数据库查询和读写操作。% c# r2 o; l6 b" n
( m, h1 c: \: z8 `
```javascript
7 O" s5 {; R) o/ J// 在uniapp中调用B数据库的示例代码
) o) }0 e1 C0 M: _5 E( s4 y8 P% t8 o0 w: U! f& ^
// 定义B数据库的服务器地址和端口号
' @, b, b* o/ |1 L7 _( q6 Xconst serverUrl = 'http://B服务器的地址:端口号';
, S5 T: \9 n8 F* l/ z: o& S* t8 ]' d* A0 t/ Q0 x
// 查询操作
& k# n' o( P9 j2 m$ F" V6 Puni.request({% x: c  n3 T2 b9 t
url: serverUrl + '/query', // 在B服务器上定义的查询接口
3 j2 B& Y$ k# p' tmethod: 'GET',
: [# c: V! o/ _3 Ysuccess: function(res) {
+ D& G! x  ?" m: a// 查询成功后的处理逻辑
' o! w& b& q$ j! e5 |console.log(res.data); // 输出查询结果2 j" ], k3 O2 e' x& ~
},$ n3 U' v& K- }2 A- \  h
fail: function(err) {
# j) L5 V6 @, T* ~1 }& f// 查询失败后的处理逻辑
$ N' z+ [* T- k  q5 s8 g) Yconsole.error(err);
2 c# Z, a% B2 J+ E}* M$ _- B9 D. t$ ]5 p" C$ f
});3 Z( T/ S) C5 `8 I* B

6 l# w* H( {, L2 e; T//读写操作
0 |9 g: _3 e4 P/ S6 `2 H; ?- r3 Guni.request({; T( g9 o% s$ G; @: N" J9 ?5 c
url: serverUrl + '/write', // 在B服务器上定义的写入接口  v5 D0 s, }/ F, d
method: 'POST',7 _! T7 T; c$ F( [1 O- C' g
data: {+ n3 T8 G; @# n& T
//传递的写入数据
+ {* _1 T' `% i- x' J4 J/ @! a/ n// 根据B数据库的接口定义,传递合适的参数
7 c2 H5 ~# ?. ]; F},
4 e9 N* r  U4 \1 ?7 l" y  l  a7 esuccess: function(res) {5 p$ u  ]1 `+ c0 a/ j* `, A; A" b
// 写入成功后的处理逻辑
' g) o" v) e9 j$ w9 Rconsole.log(res.data); // 输出写入结果
9 e. R* g$ P- T( V& t- F) H},1 R  l8 I$ S: K, m% Q+ ^9 y8 I
fail: function(err) {+ I  B5 D: ]; ~( N8 p
// 写入失败后的处理逻辑
9 I& a. ?' d$ L0 Pconsole.error(err);
: B, v, U" c$ ]; {  L! e}) P* f; f( `& j
});
3 P& S$ G& f3 x  B; ````3 {0 D0 k! H5 m
( U4 O: K. x( V6 q  w
请注意,上述代码中的`serverUrl`需要替换为实际的B数据库服务器的地址和端口号。同时,根据B数据库的接口定义,适当修改查询和写入操作的参数和数据。; h! N6 @; t+ Q. Y0 ~9 u8 X3 M
回复

使用道具 举报

347

主题

564

回帖

3679

积分

管理员

积分
3679
QQ
 楼主| 发表于 2023-9-16 22:46:16 | 显示全部楼层
我在uniapp前端页面上有一个表单,分别有姓名和手机号码,需要保存到B数据库,同时把保存的结果无刷新实时地回显到前面页面上。
( [3 u/ d% G( t! O; ~2 g6 `4 j2 B. z7 @. c! c4 `8 ^& _( \
1 Z6 g! @4 T/ d- C
如果你想在uniapp的前端页面上保存表单数据到B数据库,并实时回显结果,那么与W网站的关系是通过B数据库进行数据交互。
; L6 e) e; \! l: r' ?3 T
6 `  G& G, L6 ]. y! C1 u# \2 m! p& D在这种情况下,你需要在B数据库的服务器上创建一个接口,用于接收前端页面发送的保存请求,并将数据保存到B数据库中。然后,将保存结果返回给前端页面,以便实时回显。, C. x: Y5 d% U+ h' e. s
& @3 U/ ^3 `9 N- K0 A
以下是一个示例代码,展示了如何在B数据库的服务器上创建一个保存接口:
* a5 U8 G1 {- R* V' f  k% r
% y" I* r* |7 {" t```php0 ^3 V9 M" U9 f4 N0 E- }
// 在B数据库服务器上创建保存接口的示例代码(使用PHP)
; [5 U7 G7 m, Z6 ]$ M! g6 z4 q% u3 n7 c& O0 ?, _6 q
// 连接到B数据库$ }. \$ b, t3 m: Y! _
$servername = "B数据库的服务器地址";
6 b4 R0 k" y4 z" g$ r7 a' _! F$ F( e$username = "B数据库的用户名";( c: z. e8 e0 H- F! x* b
$password = "B数据库的密码";$ t8 R; j  Q7 E% b4 `3 K6 G
$dbname = "B数据库的名称";
" V# A4 L: |9 T3 a# {; }. o' _& Z: l( o, j$ z% D% g
$conn = new mysqli($servername, $username, $password, $dbname);/ z& W6 ?* b- c  Z
if ($conn->connect_error) {) q- S( s$ {: v( \9 \# F' d- n/ U
die("连接B数据库失败: " . $conn->connect_error);3 }7 `6 @7 s% E/ w! j2 n! M
}
/ |/ j* O4 {! u# ]# x! }4 x% R4 g  O2 y: a
//保存接口
! H5 \! F  z1 D+ e! hif ($_SERVER["REQUEST_METHOD"] == "POST") {2 q& M7 m; W( o# U- V1 t7 ?
$name = $_POST["name"]; // 表单中的姓名字段( ~: w, z- F+ H( j6 Q% o8 W
$phone = $_POST["phone"]; // 表单中的手机号码字段
& P' T3 R4 r& ]# s  B. ~1 P) x2 e# j- z$ }
// 将数据保存到B数据库的表中
+ Z9 a1 X) Y5 l. g8 p$sql = "INSERT INTO 表名 (姓名, 手机号码) VALUES ('$name', '$phone')";& y: y9 _+ @" n1 E; E8 K
if ($conn->query($sql) === TRUE) {
0 q3 f$ e( o8 |0 V1 t9 d. ~$response = "保存成功";
+ x( w5 M: Q# U5 L, }# h5 J2 L8 j} else {$ E. t' I+ ]7 R3 h" b- n
$response = "保存失败: " . $conn->error;
& P! V" Y% E1 K}- |, ^9 [$ t- i8 U3 i2 G
# X4 T: M7 P+ N. v
// 返回保存结果给前端页面: \: W! ^4 {& q$ I! w7 ?+ [
echo $response;
: o* a" e6 Q* c, U% k& H4 i}& q( _% f" s; c/ W
/ D6 a6 n& g8 }) I0 e* h. k2 y; T
$conn->close();7 N2 m5 V5 F1 ]/ Q3 [' |4 |; p( e: Z
```
  m& x% p5 |9 U8 E6 u) C1 c( Q3 ^' k# q
在前端uniapp页面中,你可以使用之前提到的示例代码,将表单数据发送到B数据库的保存接口,并实时回显保存结果。- e8 K  S2 D9 t7 o5 {& G1 a* o
0 r2 V+ e, d4 f
请注意,上述示例代码中的B数据库的连接信息和保存接口的URL需要根据实际情况进行修改。同时,根据B数据库的表结构,适当修改保存接口中的SQL语句和表名。
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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