使用ID数组执行单个数据库查询

时间:2017-06-06 14:55:04

标签: php mysql x-cart

我正在尝试对db执行单个查询,其中我使用要在WHERE子句中插入的ID数组。到目前为止,我的结果好坏参半,这是我最接近实现我想要的目标。

$prodId = array(17754, 17755, 17756);
$ids = implode(",",$prodId);

$qry = "SELECT clean_url AS url FROM xcart_clean_urls WHERE resource_id IN ($ids) ";
$resultTst = db_query($qry);

while ($result_row = db_fetch_array($resultTst)) {
   $urls[] = $result_row;
   if ( $urls ) {
      echo $urls[0]['url'] . '<br>';
      echo $urls[1]['url'] . '<br>';
      echo $urls[2]['url'] . '<br>';
   }
}

我得到的结果(我得到了实际的网址):
urlforid17754

urlforid17754
urlforid17755

urlforid17754
urlforid17755
urlforid17756

如何执行相同的功能,但只检索3个网址?

谢谢大家。

1 个答案:

答案 0 :(得分:2)

您尝试在循环中每次回显3行。将它们移出循环或仅回显$result_row。如果您不需要回声,那么只需在循环后使用$urls。该URL似乎位于url列中,因此请回显:

while ($result_row = db_fetch_array($resultTst)) {
   echo $result_row['url'];
   $urls[] = $result_row;
}

//to see what $urls contains
print_r($urls);

我不知道你想要$urls包含什么,但是如果你只想要一个维度,那么请在循环中使用它:

   $urls[] = $result_row['url'];