这周接了一个任务,任务有个难点,相关联的两个表在不同的库中。
像我这样的菜鸟,之前没干过这活啊,但身为程序猿,还是要干的。
第一反应能不能跨库查询,连接两个数据库查询。
说干就干!!!
代码如下:
用最原始的方法链接数据库
$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 }
结束。
程序菜鸟,如有不对,或更方便之处,请指教。ヾ(๑╹◡╹)ノ”