Можете да направите и двете, но IN заявката е много по-ефективна за тази цел за всякакви големи заявки. Преди много време направих някои прости тестове, които разкриха, че е около 10 пъти по-бързо да се използва конструкцията IN за това. Ако питате дали синтаксисът е правилен, тогава да, изглежда добре, освен липсата на точка и запетая за завършване на изявлението.
РЕДАКТИРАНЕ :Изглежда, че действителният въпрос, който задавахте, е "защо тези заявки връщат само една стойност". Е, гледайки примерния код, който публикувахте, проблемът е тук:
$fetch = mysql_fetch_assoc($result) or die (mysql_error());
$itemsCollected = $fetch['item_name'];
echo $itemsCollected;
Трябва да прегледате и повторите, докато няма повече резултати за извличане, както Пакс посочи . Вижте страницата с ръководство за PHP за mysql_fetch_assoc :
$sql = "SELECT item_name from items WHERE item_id IN('s001','a012')";
$result = mysql_query($sql);
if (!$result) {
echo "Could not successfully run query ($sql) from DB: " . mysql_error();
exit;
}
if (mysql_num_rows($result) == 0) {
echo "No rows found, nothing to print so am exiting";
exit;
}
// While a row of data exists, put that row in $row as an associative array
// Note: If you're expecting just one row, no need to use a loop
// Note: If you put extract($row); inside the following loop, you'll
// then create $userid, $fullname, and $userstatus
while ($row = mysql_fetch_assoc($result)) {
echo $row["userid"];
echo $row["fullname"];
echo $row["userstatus"];
}
mysql_free_result($result);