我的代码是这样的......
$link = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
if (!$link) {
die('Could not connect: ' . mysqli_error($link));
}
$db_selected = mysqli_select_db($link, DB_NAME);
if (!$db_selected) {
die('Can\'t use ' . DB_NAME . ': ' . mysqli_error($link));
}
//use $link works fine
mysqli_close($link);
$link2 = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
if (!$link2) {
die('Could not connect: ' . mysqli_error($link2));
}
$db_selected = mysqli_select_db($link2, DB_NAME);
if (!$db_selected) {
die('Can\'t use ' . DB_NAME . ': ' . mysqli_error($link2));
}
if (!mysqli_query($link2, $sql)) {
die('Error ' . mysqli_error($link2));
}
我收到类似
的错误$ link.TableNameFromLink2不存在
所以基本上即使我关闭第一个链接并打开一个新链接,它仍然默认为第一个链接尝试连接到我希望存在于第二个链接中的表...我不是得到它..它杀了我:(
答案 0 :(得分:0)
在$link2
中,您使用的CONSTANT
数据库信息与$link
中使用的信息相同
您必须使用另一个CONSTANT来定义另一个DB详细信息。
像
define('DB_USER','user1');
define('DB_PASSWORD','password1');
define('DB_NAME','dbname1');
define('DB_HOST','localhost');
// for 2nd db ( if username and password is same then no need to define DB_USER1 and DB_PASSWORD1)
define('DB_USER1','user2');
define('DB_PASSWORD1','password2');
define('DB_NAME1','dbname2');
$link = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$link2 = mysqli_connect(DB_HOST, DB_USER1, DB_PASSWORD1, DB_NAME1);