从另一个数据库获取数据

时间:2013-04-11 08:38:55

标签: php mysql mysqli

我目前在一个数据库for eg: user上。我正在从该数据库中检索数据。但我需要从另一个数据库获取数据,如:

mysqli_select_db($link, "first");
$q1="select * from user";
$s1=mysqli_query($link,$q);
while($row=mysqli_fetch_assoc($s1))
{
 mysqli_select_db($link, "second");
 $q2="select * from ".$row['name'];
 $s2=mysqli_query($link,$q2);
 echo mysql_num_rows($s2);
}

但显示错误:undefined index name。我认为这是因为数据库更改和查询。

我无法想出另一种方法。你能说出另一种实现方法吗?

谢谢!

2 个答案:

答案 0 :(得分:4)

您可以在$q1中定义查询,但随后使用mysqli_query()调用$q,这是一个不同的变量,我猜测您之前存储了一个查询,这可以解释为未定义的索引通知。

另一个问题是你对两个不同的数据库使用相同的$link变量。我建议将第一个存储在$link_first中,将第二个存储在$link_second中以保持它们分开。

答案 1 :(得分:0)

你应该改变

$s1=mysqli_query($link,$q);

$s1=mysqli_query($link,$q1);

因为您的查询存储在$ q1

你可以

mysqli_select_db($link, "second");

out while while循环..你为什么每次迭代选择数据库..?一旦被选中,它将一直存在,直到你再次开始......