[英]Mysql fetch array query?
我正在使用php查询从具有mysql_fetch_array的mysql数据库中检索信息,并使用返回的结果查询另一个数据库? 我是新手。 这可能吗?
$search =
"SELECT `a`,`b`
FROM 'DB'
WHERE `x` LIKE '$var'
LIMIT 0 , 30";
$result = mysql_query($search, $connection);
if($result){
while ($row = mysql_fetch_array($result)){
echo $row["a"]." ".$row["b"]."<br />";
}
} else {
echo "<p> Subject search failed. <p>";
echo "<p>" . mysql_error() . "</p>";
}
<!-- SECOND QUERY -->
$search2 =
"SELECT `a`,`b`
FROM `DB`
WHERE `x` = **$row['a']** *trying to grab the result from the first query and use as search query in second?*
LIMIT 0 , 100";
$result2 = mysql_query($search2, $connection);
if($result2){
while ($row2 = mysql_fetch_array($result2)){
echo $row2["a"]." ".$row2["b"]."<br />";
}
} else {
echo "<p> Subject search failed. <p>";
echo "<p>" . mysql_error() . "</p>";
}
有人可以指出我正确的方向吗?
$search = "SELECT a
,b
FROM DB
WHERE x
LIKE '$var' LIMIT 0 , 30";
$result = mysql_query($search, $connection);
if($result){
while ($row = mysql_fetch_array($result)){
echo $row["a"]." ".$row["b"]." ";
$search2 = "SELECT a
,b
FROM DB
WHERE x
= '".$row['a']."' LIMIT 0 , 100";
$result2 = mysql_query($search2, $connection);
if($result2){
while ($row2 = mysql_fetch_array($result2)) {
echo $row2["a"]." ".$row2["b"]." ";
}
} else {
echo "Subject search failed.";
echo mysql_error();
}
}
} else {
echo "Subject search failed. ";
echo mysql_error();
}
当然可以。 试试这种方法:
$firstresult = null;
while ($row = mysql .... etc()) //first query
$firstresult = $row['a'];
if ($firstresult != null) {
//do second query
$result2 = mysql_query("SELECT * FROM table WHERE id='".$firstresult."';");
//process query
//etc..
}
如果此解决方案正确,请不要忘记将该解决方案标记为已接受。 这就是StackOverflow的工作方式。
$ search =“ SELECT a
, b
FROM DB
WHERE x
LIKE'$ var'LIMIT 0,30“;
$结果= mysql_query($搜索,$连接); 如果($结果){
while($ row = mysql_fetch_array($ result)){echo $ row [“ a”]。“”。$ row [“ b”]。“
“;
“ $ search2 =”从DB
WHERE中选择a
, b
x
=“。$ row ['a']。”
LIMIT 0,100“;
$ result2 = mysql_query($ search2,$ connection); if($ result2){
而($ row2 = mysql_fetch_array($ result2)){echo $ row2 [“ a”]。“”。$ row2 [“ b”]。“
“;}} else {echo”
主题搜索失败。
“;回声”
“。mysql_error()。”
“;}}} else {echo”主题搜索失败。
“;回声”
“。mysql_error()。”
“;}我更改了您的代码... if和else括号以及while都有很多问题...
为什么将数据放在两个单独的数据库中? 您真的是说它们在单独的数据库中还是在MySQL的单独实例中?
一个mysql实例可以提供多个数据库,您可以编写查询以从每个数据库中提取数据,例如
SELECT activity.*
FROM mysql.user user, audit.activity activity
WHERE activity.user=user.user
如果您要整理来自单独MySQL实例的数据,那么正如其他人建议的那样,您将需要创建2个db连接,针对一个连接触发查询,然后针对第二个连接动态生成并执行查询(请注意,您将获得显着的性能对迭代查询使用准备好的语句会带来很多好处)。
另一种方法是使用联合存储引擎在MySQL的第一个实例中直接公开第二个实例
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.