我正在尝试对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个网址?
谢谢大家。
答案 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'];