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

Using an ID array to perform a single db query

我正在尝试对数据库执行单个查询,我在其中使用 ID 数组插入到 WHERE 子句中。到目前为止,我的结果喜忧参半,这是我最接近实现我所寻找的结果。

$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 个网址一次?

谢谢大家

您试图在循环中每次回显 3 行。将它们移出循环或只是 echo $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'];