2010-02-23 15 views
6

के खिलाफ mysql क्वेरी मेरे पास php में एक mysql क्वेरी है, मिलान परिणामों के माध्यम से/मिलान के विरुद्ध। मैं $ स्ट्रिंग के बाद वाइल्डकार्ड प्राप्त करने की कोशिश कर रहा हूं ताकि अगला चरित्र कुछ भी हो। मदद?वाइल्डकार्ड

"SELECT * FROM $table WHERE MATCH (message) AGAINST('$string%' IN BOOLEAN MODE)" 

उत्तर

6
उपयोग * बजाय % वाइल्डकार्ड के रूप में

जब MATCH (...) AGAINST (...) का उपयोग कर:

"SELECT * FROM $table WHERE MATCH (message) AGAINST('$string*' IN BOOLEAN MODE)" 
2

डबल-कोटेड स्ट्रिंग में चर एम्बेड न करें और आप तैयार हैं:

"SELECT * FROM " . $table . " WHERE MATCH (message) AGAINST ('" . $string . "%' IN BOOLEAN MODE)" 

कहा जा रहा है, मैं इस वैध एसक्यूएल है इस बात की पुष्टि नहीं कर सकते। लेकिन कम से कम यह सुनिश्चित करेगा कि आपका चर ठीक से विस्तारित हो और यदि यह काम नहीं करता है तो यह PHP की वजह से नहीं होगा।

और अगर यह अनुस्मारक उपयोगी होगा, तो नेवर escape data that goes into a query भूल जाएं।

संबंधित मुद्दे