यह
...snip... ) LIKE '%' LOWER(:wildcard) '%' OR ...snip
गलत है। आपके पास एक स्ट्रिंग है ('%'
) उसके बाद एक फंक्शन कॉल (LOWER()
) उसके बाद एक और स्ट्रिंग, और वे बस वहीं बैठे हैं - कोई कनेक्टिंग लॉजिक नहीं, कोई कॉन्सटेनेशन नहीं, ब्ला ब्ला ब्ला।
यह होना चाहिए
... LIKE CONCAT('%', LOWER(:wildcard), '%') OR ...
और डिफ़ॉल्ट रूप से, mysql तुलनाएं केस असंवेदनशील होती हैं, जब तक कि आप binary
. को बाध्य नहीं करते हैं तुलना, या आप अपने डीबी/टेबल पर केस सेंसिटिव कॉलेशन का उपयोग कर रहे हैं।