2012-05-28 12 views
6

रूबी नौसिखिया डालने से पहले डेटा को स्वच्छ करें। मैं इस स्ट्रिंग को "लेडी अरेबेला के स्कैंडेलो ..." डालने की कोशिश कर रहा हूं। मैं ऐसा करने के लिए रूबी-पीजी का उपयोग कर रहा हूं। हालांकि मुझे सिंगल कोट के कारण त्रुटियां मिल रही हैं, मैं इस स्ट्रिंग को कैसे व्यवस्थित कर सकता हूं और सभी HTML टैग को हटा सकता हूं? क्या इसके लिए कोई अंतर्निहित कार्य है?रूबी-पीजी

उत्तर

20

आप ठीक से अपने एकल उद्धरण से बचने के लिए escape_string उपयोग कर सकते हैं:

db = PG.connect(...) 
db.exec("insert into t (...) values ('#{db.escape_string(str)}', ...)") 

या prepare का उपयोग करें और exec_prepared एक तैयार बयान के बजाय साथ काम करने के:

db.prepare('ins', 'insert into t (...) values ($1, ...)') 
db.exec_prepared('ins', [str, ...]) 
+0

धन्यवाद। मैं गूगल और यहाँ मिला। 'Connection.escape_string' का उपयोग करना। – huy

+0

@ हू हेडसु, 'connection.escape_string' आपके क्षेत्र के अंत में बैकस्लैश से बच नहीं पाएगा। –

+2

@IslamAzab 'escape_string' पोस्टग्रेएसक्यूएल सी लाइब्रेरी से सिर्फ 'PQescapeStringConn' को कॉल करता है, इसलिए यदि यह बैकस्लैश से बच नहीं जाता है तो उसे इसकी आवश्यकता नहीं है। या क्या मैं कुछ न कुछ भूल रहा हूं? –

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

  • कोई संबंधित समस्या नहीं^_^