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

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

[复制链接]

319

主题

484

回帖

3113

积分

管理员

积分
3113
QQ
发表于 2023-9-16 22:41:37 | 显示全部楼层 |阅读模式
一个wordpress网站W,连接了两个不同的mysql数据库,分别是A和B,A是wordpress安装时自带的,B是在另外一台服务器上的创建的,现在前端uniapp程序要调用B上的数据库进行查询和读写操作,请给出一段示例代码。
5 I$ {6 t4 l# Y0 V8 k1 q5 f6 `( r* g
首先,你需要在uniapp程序中使用合适的方式连接到数据库B。以下是一个示例代码,使用uniapp的`request`方法发送HTTP请求到B的服务器上,然后进行数据库查询和读写操作。
- p' z- [4 t4 `2 W6 Q7 h0 F- i; e+ Q1 h" ?- z8 M4 s
```javascript
, N- {8 ]9 F+ V1 i// 在uniapp中调用B数据库的示例代码
# u  N. {& r% M" E* I! ~2 `9 k5 h: X3 C% o0 y' {2 E  ?) t
// 定义B数据库的服务器地址和端口号
. q. U8 k* W, O2 }1 o2 w7 Sconst serverUrl = 'http://B服务器的地址:端口号';
7 s/ T: l- s3 O$ }3 Y
& F" b; U: ?. q; {6 z// 查询操作
; q) ]+ x$ I1 r! Y1 Guni.request({
; y* X2 v8 A9 curl: serverUrl + '/query', // 在B服务器上定义的查询接口
6 K* |, y1 m. K$ `9 Zmethod: 'GET',
% v; B8 H- _6 T% f9 bsuccess: function(res) {0 x8 a$ f5 J. b5 a! E1 e* M
// 查询成功后的处理逻辑
, t. x; w# O- ^& y7 d# }3 {console.log(res.data); // 输出查询结果
* q6 z  `! s% M},
' p# T0 Z5 N$ B% q, E" _7 w# e0 t& mfail: function(err) {
  f/ u9 p3 G+ o: X// 查询失败后的处理逻辑! s" s0 C+ B  V
console.error(err);/ n" V0 V1 ~! t
}2 N3 S  ^; c1 d( ~" O1 e
});
  g! B0 b4 l- `, j/ j1 F
+ T8 T! E, t& B. G  ~//读写操作
+ c, h+ c/ o( e6 m& j3 p/ luni.request({5 b+ }. l% W3 C( M4 a
url: serverUrl + '/write', // 在B服务器上定义的写入接口: L* o; L+ v* e6 ^, y, b. q
method: 'POST',
6 p6 U6 M, w! r: a. j9 C: Mdata: {6 G+ N, V1 J/ A! b) I
//传递的写入数据
. g. [8 ^6 H' i// 根据B数据库的接口定义,传递合适的参数  v! I+ {1 s: X5 e9 \/ X
},
; J* j4 ^3 g0 \) o2 V0 isuccess: function(res) {
/ K& x" u+ e% S4 V& q. P0 ~  }// 写入成功后的处理逻辑3 o8 @) K" `' n/ Q6 w3 V
console.log(res.data); // 输出写入结果* D' x, l  l3 j* D6 y9 w  h
},
  K( b2 H0 ~  P' o6 x, r0 vfail: function(err) {
- f& n+ R# Y, n1 D0 ]. Q// 写入失败后的处理逻辑
3 `+ a  r4 K  Gconsole.error(err);  B+ o6 g- p$ n; {
}( Q6 m5 G) @% y$ Y
});* n  G& r% p% v8 i* w* Z
```
7 n, z. X5 D7 D9 y' t+ ]0 w# F9 `2 V  [
请注意,上述代码中的`serverUrl`需要替换为实际的B数据库服务器的地址和端口号。同时,根据B数据库的接口定义,适当修改查询和写入操作的参数和数据。& K7 O  ]% \4 U
回复

使用道具 举报

319

主题

484

回帖

3113

积分

管理员

积分
3113
QQ
 楼主| 发表于 2023-9-16 22:46:16 | 显示全部楼层
我在uniapp前端页面上有一个表单,分别有姓名和手机号码,需要保存到B数据库,同时把保存的结果无刷新实时地回显到前面页面上。' i( p2 a1 g3 r8 @, P: N( s+ k  P

, U* N3 }7 K" b
" @/ q, W; {, U3 J0 m6 {9 l如果你想在uniapp的前端页面上保存表单数据到B数据库,并实时回显结果,那么与W网站的关系是通过B数据库进行数据交互。/ ~: l$ n* m. N) X! A

+ l/ G- m& X: M% X4 B: E* x在这种情况下,你需要在B数据库的服务器上创建一个接口,用于接收前端页面发送的保存请求,并将数据保存到B数据库中。然后,将保存结果返回给前端页面,以便实时回显。
+ s2 X# q/ A1 q; P  ?1 o8 K+ X/ Y& b" O" A
以下是一个示例代码,展示了如何在B数据库的服务器上创建一个保存接口:3 h' k' K: U" [2 t1 W/ v
: K; o3 I0 M: B) C1 Y( {
```php3 L' N" ~' Z6 ~" m
// 在B数据库服务器上创建保存接口的示例代码(使用PHP)  |) `+ L# F3 Z/ N8 C
# S3 N. z1 k5 z
// 连接到B数据库
9 B/ O6 j' D$ V1 C9 n) U6 A. W$servername = "B数据库的服务器地址";8 l! U( K) y  v8 }' D0 O$ F8 a: u
$username = "B数据库的用户名";
$ n: B& B' f4 T$password = "B数据库的密码";
$ s- b0 x& K6 u0 D" M' k+ W$dbname = "B数据库的名称";
: C" K) q. n8 Q# i4 ?! G$ g
) S  _# a. a! L1 t5 u$conn = new mysqli($servername, $username, $password, $dbname);4 p- E% w9 a% q* b0 k
if ($conn->connect_error) {& ]% @1 G" r. N2 s% V% J+ v
die("连接B数据库失败: " . $conn->connect_error);
& A, e) r9 X1 u' \& J, M4 b6 B9 ^}" d* ]0 Z) ^9 N$ d+ W1 B% ^! f; S
, {* f  `' M& f8 D( Q( y* N
//保存接口
0 A) Y. @, O: g$ hif ($_SERVER["REQUEST_METHOD"] == "POST") {. }3 H! H/ {* r8 y/ w$ B6 N4 M
$name = $_POST["name"]; // 表单中的姓名字段& R! \5 {5 C- Z8 N3 {, B" u6 Z# [: C
$phone = $_POST["phone"]; // 表单中的手机号码字段; F' |  ~' i( U% X% U+ V% _
3 [7 `( P4 A+ V6 q1 Y  Z& @2 O
// 将数据保存到B数据库的表中, r( _+ Q4 g  g9 m+ L% w7 w
$sql = "INSERT INTO 表名 (姓名, 手机号码) VALUES ('$name', '$phone')";2 v% m! d4 d, t( M# y4 L  \7 H  {
if ($conn->query($sql) === TRUE) {
* W/ j( ~) G" q0 E2 H6 T$response = "保存成功";
% Q+ Z# ~! O9 [' F' y/ A) ~0 ~} else {
3 d  s; P0 B( {! A" C9 K" s% K  y% p$response = "保存失败: " . $conn->error;) P. ~+ p! K# q% O. e
}! p+ w! `. u8 }% ^0 |9 ^

) o# _& N4 F0 V8 S! ]% C7 P+ ^  W// 返回保存结果给前端页面$ U9 A. \) _( p9 i) C' k: i
echo $response;* C9 F9 u3 v, Y# d6 {5 D  n! D
}
* r) f! O+ r) e: ^6 v
0 g5 @3 T7 c; }5 P9 ^: M# Y$conn->close();
& ^+ ^! h& g4 S" A( C/ X# j% L9 T6 H- l```& d7 [; ?# e* @" J+ q- d$ r

$ ]9 i/ ?3 F# s. P5 [6 g/ r在前端uniapp页面中,你可以使用之前提到的示例代码,将表单数据发送到B数据库的保存接口,并实时回显保存结果。3 F" P/ T# s0 y/ `( W

5 M1 @: Z$ \' E请注意,上述示例代码中的B数据库的连接信息和保存接口的URL需要根据实际情况进行修改。同时,根据B数据库的表结构,适当修改保存接口中的SQL语句和表名。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-27 15:12 , Processed in 0.075991 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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