निम्नलिखित wpdb वर्ग के लिए एक चेतावनी है।
https://codex.wordpress.org/Class_Reference/wpdb
चेतावनी
इस वर्ग के कुछ कार्य इनपुट के रूप में एक SQL स्टेटमेंट लेते हैं। आप SQL इंजेक्शन हमलों को रोकने के लिए SQL क्वेरी में शामिल सभी अविश्वसनीय मूल्यों से SQL बचना चाहिए। यह देखने के लिए दस्तावेज़ देखें कि क्या फ़ंक्शन आपके लिए एसक्यूएल का उपयोग करने की योजना बना रहा है या यह अपेक्षा करता है कि यह पहले से बच गया है।
इसलिए मैं इसे पढ़ता हूं - wpdb वर्ग आपके लिए डेटा को स्वचालित रूप से तैयार या बच नहीं करता है।
मुझे पूरा यकीन है कि अगर आप अपने कोड में 100% डेटा स्रोत पर भरोसा नहीं कर सकते हैं, तो मैं तैयार वर्ग (?) का उपयोग करने का सुझाव देता हूं।
यह मत सोचिए कि तैयारी वर्ग का उपयोग करने से यह तैयार वर्ग का उपयोग किए बिना ठीक हो जाएगा। मैं इसके लिए बिल्कुल नया हूं इसलिए कृपया उत्तर के रूप में कोई भी सुधार पोस्ट करें यदि मैं सही नहीं हूं।
$ wpdb-> तैयार ("तालिका से चयन करें * जहां आईडी =% डी और नाम =% s", $ आईडी, $ नाम);
उपरोक्त कथन में, 2 अतिरिक्त विशेषताएँ हैं। एक आईडी के लिए और एक नाम के लिए। जहां तक मैंने इसे पढ़ा है, प्रत्येक आपकी क्वेरी में आइटम की संख्या के अनुरूप है। साथ ही% s = string,% d = पूर्णांक और% f = फ्लोट।
इसके अलावा, मेरे पढ़ने से, यदि आप अतिरिक्त विशेषताओं को नहीं रखते हैं, तो तैयारी वास्तव में कुछ नहीं करेगी। एक चेतावनी होगी, लेकिन अगर आप इसे बंद कर देते हैं, तो शायद आपको पता नहीं चलेगा।
यहां क्लास रेफरेंस से ही एक उदाहरण दिया गया है, जहां वे नीचे INSERT में एक तैयार क्लास जोड़ते हैं।
https://codex.wordpress.org/Class_Reference/wpdb#Protect_Queries_Against_SQL_Injection_Attacks
$ wpdb-> क्वेरी ($ wpdb-> तैयार ("INSERT INTO $ wpdb-> postmeta (post_id, meta_key, meta_value) VALUES) (% d,% s),% (), सरणी (10, $ metakey, $ metavalue) ));
मेरी चिंता यह है कि उत्क्रमित उत्तर उसी पृष्ठ के अनुसार गलत है जिसमें 'कोई नहीं' सन्दर्भ है। मैं मान रहा हूं कि आप तैयारी का उपयोग करते हैं () लेकिन भागने के अन्य मानक php तरीके नहीं हैं क्योंकि मैंने इस उत्तर को भी सही लिया है ... जब तक कि मैंने गहरा खोदा नहीं।
वैसे भी ... मूल उत्तर के बाद से शायद चीजें बदल गई हैं।
insert
औरupdate
इसकी आवश्यकता नहीं है। लेकिन इसके साथ इस्तेमाल किया जाना चाहिएquery
।