2012-01-14 34 views
0

我从数据库请求数据,并将其放入数组中,因为我想在循环外使用它。问题是在我的第二个查询查询不起作用。查询数组

$cari2 = "SELECT name, data FROM `dns_rr` WHERE `zone` = '".$row['id']."' LIMIT 0, 30 "; 
$keputusan2 = mysql_query($cari2); 

while($row2 = mysql_fetch_array($keputusan2)) { 
//echo $row2['name']; 
$arrayData[] = $row2['data']; 
$arrayName[] = $row2['name']; 
} 


阵列输出:
阵列([0] => gumblari.cn [1] => gumblar.cn)阵列([0] => gumblaro.cn [1] =>俄克拉荷马州)我在运行查询前也使用implode:
$ implodeName = implode(“,”,$ arrayName); $ implodeData = implode(“,”,$ arrayData);

破灭输出:
gumblaro.cnoklagumblari.cngumblar.cn

$cari3 = "SELECT data, name FROM `dns_rr` WHERE data IN ($implodeData,  $implodeName)"; 
$keputusan3 = mysql_query($cari3); 

while($row3 = mysql_fetch_array($keputusan3)) { 

echo $row3['data']; 
echo $row3['name']; 

} 

查询2期($ cari3)给我这个错误:
警告:mysql_fetch_array()预计参数1是资源,布尔在



请帮助我。我需要的是使用从外部的第一个查询以外的数据while循环这就是为什么我使用数组。谢谢。

+0

你确定是爆出输出:'gumblaro.cnoklagumblari.cngumblar.cn'? – 2012-01-14 01:54:33

+0

我决定把$ cari3放在while循环中。问题解决了。感谢您试图帮助我的人:) – sg552 2012-01-14 05:29:28

回答

1

忽略脚本中的其他问题(例如SQL注入),$ keputusan2的值很可能是布尔值,因为查询失败。你需要确保$ cari3是有效的。我的猜测是这两个变量没有被引用,并且被解释为SQL而不是值。您需要确保两个数组看起来像'value1','value2'。你可以用'''来实现。implode('','',$ array)。''';基本上,在执行它之前打印出查询并查看出了什么问题。另请参阅mysql_error()说的内容。