Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

Sql उन तत्वों का चयन करता है जो सरणी से मेल खाते हैं और उन्हें एक पंक्ति में प्रदर्शित करते हैं

आपको यहां क्या करना चाहिए IN CLAUSE . का उपयोग करना है . कन्वर्ट $_POST[] एक अल्पविराम से अलग स्ट्रिंग के लिए।

$choices = implode(', ', $_POST['choices']);

SELECT name, item, price, images FROM `my-tb` WHERE item IN ($choices)

जो एक क्वेरी उत्पन्न करेगा जैसे:

SELECT name, item, price, images FROM `my-tb` WHERE item IN (a,b,d)

यह इसे भी बना देगा ताकि आप अपने $_POST . पर लूप न करें और अनावश्यक रूप से कई प्रश्नों को निष्पादित करें।

साइड नोट

मुझे यकीन नहीं है कि आपकी वास्तविक तालिका का नाम my-tb . है लेकिन अगर आपके पास hyphens . है अपने टेबल नाम में आपको backticks . का उपयोग करना चाहिए स्ट्रिंग नाम को इनकैप्सुलेट करने के लिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PDO का उपयोग करके MySQL में इनपुट को सेनिटाइज करने का सही तरीका

  2. MySQL INSERT SELECT - डुप्लिकेट पंक्तियाँ

  3. MySQL अद्यतन 1-3 के बीच यादृच्छिक संख्या के साथ

  4. मैं जावा का उपयोग करके पूर्ण दिनांक और समय एसक्यूएल कैसे सेट करूं, न कि केवल तिथि?

  5. डेटाबेस mysql में समानार्थक शब्दों को संग्रहीत और पुनर्प्राप्त करने का सबसे अच्छा तरीका