भिन्न डॉलर-कोट्सका उपयोग करें ए> इसके बजाय:
select upsert( $unique_token$INSERT INTO zz(a, b) VALUES (66, 'ha$$hahaha')$unique_token$, $unique_token2$UPDATE zz SET a=66, b='hahahaha' WHERE a=66$unique_token2$ )
प्रत्येक छोर को प्रत्येक शुरुआत से मेल खाना चाहिए। जरूरी नहीं कि दोनों जोड़े अलग हों, लेकिन यह इस तरह से सबसे सुरक्षित है।
यह अभी भी एक सैद्धांतिक मौका छोड़ता है कि डॉलर-उद्धरण का मिलान स्ट्रिंग के अंदर किया जा सकता है।
यदि आप क्वेरी को हाथ से बना रहे हैं, तो बस $
. की जांच करें स्ट्रिंग में। यदि आप चर से क्वेरी बना रहे हैं, तो आप quote_literal(querystring)
इसके बजाय।
सुविधाजनक format()
समारोह।
देखें:
इसके अलावा:मुझे लगता है कि आप जानते हैं कि गतिशील एसक्यूएल का यह रूप एसक्यूएल इंजेक्शन के लिए बेहद कमजोर है? इस प्रकार की कोई भी चीज़ केवल बहुत ही निजी या बहुत सुरक्षित उपयोग के लिए होनी चाहिए।