使用 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'];
我正在尝试对数据库执行单个查询,我在其中使用 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'];