Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

php 跨库查询数据

作者:暗夜骑士   发布日期:2025-12-29   浏览:227

在PHP中,可以使用MySQL的mysqli或者PDO扩展来跨库查询数据。

使用mysqli扩展的示例代码如下:

// 连接到第一个数据库
$mysqli1 = new mysqli('host1', 'username1', 'password1', 'database1');
if ($mysqli1->connect_errno) {
    die('连接第一个数据库失败: ' . $mysqli1->connect_error);
}

// 连接到第二个数据库
$mysqli2 = new mysqli('host2', 'username2', 'password2', 'database2');
if ($mysqli2->connect_errno) {
    die('连接第二个数据库失败: ' . $mysqli2->connect_error);
}

// 查询第一个数据库的数据
$query1 = "SELECT * FROM table1";
$result1 = $mysqli1->query($query1);
if (!$result1) {
    die('查询第一个数据库失败: ' . $mysqli1->error);
}

// 查询第二个数据库的数据
$query2 = "SELECT * FROM table2";
$result2 = $mysqli2->query($query2);
if (!$result2) {
    die('查询第二个数据库失败: ' . $mysqli2->error);
}

// 处理查询结果
while ($row1 = $result1->fetch_assoc()) {
    // 处理第一个数据库的数据
    echo $row1['column1'] . '<br>';
}

while ($row2 = $result2->fetch_assoc()) {
    // 处理第二个数据库的数据
    echo $row2['column2'] . '<br>';
}

// 关闭数据库连接
$mysqli1->close();
$mysqli2->close();

使用PDO扩展的示例代码如下:

// 连接到第一个数据库
$dsn1 = 'mysql:host=host1;dbname=database1';
$username1 = 'username1';
$password1 = 'password1';

try {
    $pdo1 = new PDO($dsn1, $username1, $password1);
} catch (PDOException $e) {
    die('连接第一个数据库失败: ' . $e->getMessage());
}

// 连接到第二个数据库
$dsn2 = 'mysql:host=host2;dbname=database2';
$username2 = 'username2';
$password2 = 'password2';

try {
    $pdo2 = new PDO($dsn2, $username2, $password2);
} catch (PDOException $e) {
    die('连接第二个数据库失败: ' . $e->getMessage());
}

// 查询第一个数据库的数据
$query1 = "SELECT * FROM table1";
$stmt1 = $pdo1->query($query1);
if (!$stmt1) {
    die('查询第一个数据库失败: ' . $pdo1->errorInfo()[2]);
}

// 查询第二个数据库的数据
$query2 = "SELECT * FROM table2";
$stmt2 = $pdo2->query($query2);
if (!$stmt2) {
    die('查询第二个数据库失败: ' . $pdo2->errorInfo()[2]);
}

// 处理查询结果
while ($row1 = $stmt1->fetch(PDO::FETCH_ASSOC)) {
    // 处理第一个数据库的数据
    echo $row1['column1'] . '<br>';
}

while ($row2 = $stmt2->fetch(PDO::FETCH_ASSOC)) {
    // 处理第二个数据库的数据
    echo $row2['column2'] . '<br>';
}

// 关闭数据库连接
$pdo1 = null;
$pdo2 = null;

以上代码示例分别连接了两个不同的数据库,并分别查询了两个数据库的数据。你可以根据实际情况修改连接信息和查询语句。

上一篇:php文件上传相关的函数

下一篇:php打开文件夹乱码

大家都在看

php session用法

php 定义常量

php soapclient

phpisset函数

php html转图片

php后端

php爬虫框架

php多线程与并发

php读取csv文件

php+mysql动态网站开发

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站