आप इनमें से कोई एक कर सकते हैं, लेकिन किसी भी बड़े प्रश्न के लिए IN क्वेरी इस उद्देश्य के लिए अधिक कुशल है। मैंने बहुत पहले कुछ सरल परीक्षण किए थे, जिससे पता चला कि इसके लिए IN निर्माण का उपयोग करना लगभग 10 गुना तेज है। यदि आप पूछ रहे हैं कि क्या वाक्य रचना सही है तो हाँ, यह ठीक दिखता है, बयान को पूरा करने के लिए लापता अर्ध-कॉलन के अलावा।
संपादित करें :ऐसा लगता है कि आप जो वास्तविक प्रश्न पूछ रहे थे वह यह था कि "ये प्रश्न केवल एक मान क्यों लौटाते हैं"। ठीक है, आपके द्वारा पोस्ट किए गए नमूना कोड को देखते हुए, समस्या यहाँ है:
$fetch = mysql_fetch_assoc($result) or die (mysql_error());
$itemsCollected = $fetch['item_name'];
echo $itemsCollected;
जब तक कोई और परिणाम प्राप्त करने के लिए नहीं हैं, तब तक आपको लूप और पुनरावृति करने की आवश्यकता है, जैसा कि पैक्स ने बताया . mysql_fetch_assoc के लिए PHP मैनुअल पेज देखें। :
$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);