我目前在一个数据库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
。我认为这是因为数据库更改和查询。
我无法想出另一种方法。你能说出另一种实现方法吗?
谢谢!
答案 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循环..你为什么每次迭代选择数据库..?一旦被选中,它将一直存在,直到你再次开始......