Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP mysqli在同一页面上有多个数据库_Php_Mysql_Mysqli - Fatal编程技术网

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);