两个不同的数据库之间查询数据,怎么办?

这周接了一个任务,任务有个难点,相关联的两个表在不同的库中

像我这样的菜鸟,之前没干过这活啊,但身为程序猿,还是要干的。

第一反应能不能跨库查询连接两个数据库查询

说干就干!!!

代码如下:

用最原始的方法链接数据库

$mysqli = new mysqli('localhost', '用户名', '数据库密码', '数据库名称');        (第一个数据库)
$mysqli_dandu = new mysqli('localhost', '用户名', '数据库密码', '数据库名称');  (第二个数据库)
//检查是否链接成功
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
}
//获取stmt对象
$stmt = $mysqli->stmt_init();
$stmt_dandu = $mysqli_dandu->stmt_init();
//设置字符集
$mysqli->set_charset('utf8');
$mysqli_dandu->set_charset('utf8');

好了跨库就结束了,剩下的步骤就按正常就可以啦,但有点区别是:

比如我这边查询用户id:

if (empty($_POST['member_id'])) {
    $member_miniapp_id = $_POST['miniapp'];
    $sql = "select member_miniapp_id,member_id from wxb_member_miniapp where member_miniapp_id=$member_miniapp_id";
    $zxList = array();
    if ($stmt = $mysqli_dandu->prepare($sql)) {
        $stmt->execute();
        $stmt->bind_result($member_miniapp_id, $member_id);
        while ($stmt->fetch()) {
            $zxList[] = array(
                "member_miniapp_id" => $member_miniapp_id,
                "member_id" => $member_id
            );
        }
    }
    $user_id = $zxList[0]['member_id'];//当前商户的id
}

结束。

程序菜鸟,如有不对,或更方便之处,请指教。ヾ(๑╹◡╹)ノ”

    原文作者:不及格的程序猿
    原文地址: https://blog.csdn.net/th_2018/article/details/84561580
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞