के लिए "बनाम" खंड बनाम बराबर (=) यह एक बहुत ही सरल सवाल है और मुझे लगता है कि जवाब "इससे कोई फर्क नहीं पड़ता" है लेकिन मुझे वैसे भी पूछना है ... बजाय निम्नलिखितMySQL प्रदर्शन - एकल मूल्य
$sql = 'SELECT * FROM `users` WHERE `id` IN(' . implode(', ', $object_ids) . ')';
मान लिया जाये कि पूर्व वैधता चेक ($object_ids
कम से कम 1 आइटम और सभी संख्यात्मक मान के साथ एक सारणी है), मुझे क्या करना चाहिए:
मैं एक सामान्य एसक्यूएल बयान पीएचपी में बनाया गया है?
if(count($object_ids) == 1) {
$sql = 'SELECT * FROM `users` WHERE `id` = ' . array_shift($object_ids);
} else {
$sql = 'SELECT * FROM `users` WHERE `id` IN(' . implode(', ', $object_ids) . ')';
}
या count($object_ids)
लायक नहीं क्या (यदि कोई हो सब पर) वास्तविक एसक्यूएल बयान में बचाया जाएगा जाँच की भूमि के ऊपर है?
आपने अपने प्रश्न का उत्तर दिया :) इससे कोई फर्क नहीं पड़ता। सरणी के आकार की जांच किए बिना 'implode' का उपयोग करना भी आसान है। –
@ एनबी। क्या किसी ने कभी आपको बताया है कि आपका नाम टिप्पणियों के लिए बिल्कुल सही है: पी – mellamokb
@mellamokb - अब किसी ने किया :) –