एस्केप कैरेक्टर 'है, इसलिए आपको उद्धरण को दो उद्धरणों से बदलना होगा।
उदाहरण के लिए,
SELECT * FROM PEOPLE WHERE SURNAME='O'Keefe'
बन जाता है
SELECT * FROM PEOPLE WHERE SURNAME='O''Keefe'
उस ने कहा, यह स्वयं करना शायद गलत है। SQL में उपयोग के लिए स्ट्रिंग्स से बचने के लिए आपकी भाषा में एक फ़ंक्शन हो सकता है, लेकिन इससे भी बेहतर विकल्प पैरामीटर का उपयोग करना है। आमतौर पर यह निम्नानुसार काम करता है।
आपका SQL कमांड होगा:
SELECT * FROM PEOPLE WHERE SURNAME=?
फिर, जब आप इसे निष्पादित करते हैं, तो आप "O'Keefe" को एक पैरामीटर के रूप में पास करते हैं।
क्योंकि पैरामीटर मान सेट होने से पहले SQL को पार्स किया जाता है, पैरामीटर मान के लिए SQL की संरचना को बदलने का कोई तरीका नहीं है (और यदि आप एक ही कथन को अलग-अलग पैरामीटर के साथ कई बार चलाना चाहते हैं तो यह थोड़ा तेज़ है)।पी>
मुझे यह भी बताना चाहिए कि, जबकि आपका उदाहरण सिर्फ एक त्रुटि का कारण बनता है, आप अपने आप को कई अन्य समस्याओं के लिए खोलते हैं, उचित रूप से स्ट्रिंग्स से बचकर नहीं। देखें http://en.wikipedia.org/wiki/SQL_injection एक अच्छी शुरुआत के लिए या निम्न क्लासिक xkcd कॉमिक के लिए ।