PHP mysqli在同一页面上有多个数据库
我的代码是这样的PHP mysqli在同一页面上有多个数据库,php,mysql,mysqli,Php,Mysql,Mysqli,我的代码是这样的 $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 . ':
$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不存在
因此,基本上,即使我关闭第一个链接并打开一个新链接,当尝试连接到第二个链接中存在的我想要的表时,它仍然默认为第一个链接。。。我不明白。。这让我很难受:(在
$link2
中,您使用的是与$link
中相同的常量
数据库信息
您必须使用另一个常量来定义另一个DB详细信息。
像
$sql包含什么?不需要使用这一行
$db\u selected=mysqli\u select\u db($link,db\u NAME);
,因为您已经在mysqli\u connect()中给出了db\u NAME
multiple Database=>这意味着您要连接到其他数据库=>您是否为$link2
提供了正确的数据库名称?^我知道我在做一些愚蠢的事情……谢谢,我希望这能起作用!它起作用了,我对php有点陌生,但我应该从一般编程中知道这一点,但这是一个愚蠢的错误,我永远不会看到它。谢谢你。
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);