3
我正在处理从一个数据库到另一个数据库的导入功能,并认为我会尝试构建Mysqli功能。Mysqli准备对多个数据库的报表
我已经打开了两个连接,每个数据库一个连接,并且在选择是否插入数据之前循环旧连接(获取现有用户)并在新连接上运行检查。
现在我不确定是否滥用了准备报表功能,或者我无法获得正确的结果。一个简单的测试案例是:
$oldDB = new Mysqli(HOST, USER, PASS, 'oldDB'); $newDB = new Mysqli(HOST, USER, PASS, 'newDB'); /* * Prepared statments */ $searchUserStmt = $newDB->prepare('SELECT user_id FROM members WHERE user_id=?'); $searchUserStmt->bind_param('i', $old_user_id); $searchUserStmt->bind_result($user_id); /** * Loop through users */ $result = $oldDB->query('SELECT * FROM member_profile LIMIT 10'); while($row = $result->fetch_assoc()) { var_dump($row['user_id']); // Check if user is already in DB $old_user_id = $row['user_id']; $searchUserStmt->execute(); $searchUserStmt->fetch(); $searchUserStmt->reset(); var_dump($user_id); }
当我在$newDB
仰望user_id
用事先准备好的声明它只返回的第一个结果的user_id
我上$oldDB
第一查询运行良好,并遍历用户不过。
这里的输出我得到的一个样本:
string(1) "1" int(1) string(2) "31" int(1) string(2) "26" int(1) string(3) "105" int(1) string(2) "34" int(1) string(3) "119" int(1) string(2) "36" int(1) string(2) "37" int(1) string(2) "38" int(1) string(2) "39" int(1)
没有人有任何知道我做错了吗?我已经通过Mysqli文档,但没有找到任何帮助我的东西。