查询数组

时间:2012-01-14 01:28:07

标签: php mysql arrays

我从我的数据库请求数据并将其放在数组中,因为我想在循环之外使用它。问题出在我的第二个查询中,查询无效。

$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] => okla)

我在运行查询之前也使用了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是资源,在

中给出布尔值



请帮帮我。我需要的是使用来自外部的第一个查询的数据,同时循环,这就是为什么我使用数组。谢谢。

1 个答案:

答案 0 :(得分:1)

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