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

कुछ स्थितियों में इस SQL ​​​​वापसी के परिणाम बनाने के लिए मैं क्या कर सकता हूं?

आपको अपने कुछ AND को OR में बदलना होगा और फिर OR को कोष्ठक में बदलना होगा।

अभी आपको $vehicle MATCHes में से एक और दोनों . की भी आवश्यकता है $कीवर्ड मिलानों में से। इसके बजाय, मुझे लगता है कि आपको $वाहन या . में से किसी एक की आवश्यकता है $कीवर्ड मिलान।

साथ ही, मुझे लगता है कि आप $keyword मिलानों को एक MATCH कॉल में जोड़ सकते हैं, है ना? और मुझे लगता है कि T.truck_number के खिलाफ LIKE चेक MATCH को देखते हुए बेमानी है जिसमें वह कॉलम शामिल है। किस स्थिति में आप SQL के उस भाग को इस प्रकार लिख सकते हैं:

 AND (MATCH( T.truck_number, T.make, T.model, T.engine, T.vin_number,
      T.transmission_number, T.comments) AGAINST( '$vehicle' )
     OR MATCH( P.part_num, P.part_desc, P.part_ref,M.comments, M.work_done) 
     AGAINST( '$keywords' ))

और मैं आपके द्वारा बनाए गए डायनेमिक SQL से बचकर SQL इंजेक्शन से खुद को बचाने के बारे में अनिवार्य टिप्पणी शामिल करता हूं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL कनेक्टर्स और लाइसेंसिंग

  2. MySQL में रीसेंसी से पर्सेंटाइल की गणना करें

  3. Mysql कस्टम ऑर्डर द्वारा और वर्णमाला क्रम द्वारा:

  4. MySQL - MAX मानों के सबसेट के लिए AVG की गणना करना

  5. mysql में अस्थायी तालिका कॉलम सूचीबद्ध करें