নীচে wpdb বর্গ জন্য একটি সতর্কতা দেওয়া হয়।
https://codex.wordpress.org/Class_Reference/wpdb
একটি সতর্কতা
এই শ্রেণীর কিছু ফাংশন ইনপুট হিসাবে একটি এসকিউএল স্টেটমেন্ট নেয়। এসকিউএল ইনজেকশন আক্রমণগুলি রোধ করতে আপনার এসকিউএল কোয়েরিতে অন্তর্ভুক্ত করা সমস্ত অবিশ্বস্ত মানের এসকিউএলকে অবশ্যই অব্যাহতি দেওয়া উচিত। আপনি যে ফাংশনটি ব্যবহার করার পরিকল্পনা করছেন সেটি আপনার জন্য এসকিউএল থেকে পালিয়ে যায় বা এটি প্রাক-পলায়নের প্রত্যাশা করে তা ডকুমেন্টেশন চেক করুন।
সুতরাং আমি এটিকে পড়লাম - ডাব্লুপিডিবি ক্লাস স্বয়ংক্রিয়ভাবে আপনার জন্য ডেটা প্রস্তুত বা এড়ায় না।
আমি যথেষ্ট নিশ্চিত যে আপনি যদি আপনার কোডের ডেটা উত্সকে 100% বিশ্বাস করতে না পারেন তবে আমি প্রস্তুতি শ্রেণি (?) ব্যবহার করার পরামর্শ দিই।
ভাববেন না যে প্রস্তুতি শ্রেণিটি ব্যবহার করে প্রস্তুতি শ্রেণিটি সঠিকভাবে ব্যবহার না করে এটি ঠিক করে দেবে। আমি এতে মোটামুটি নতুন তাই দয়া করে আমি সঠিক না হলে উত্তর হিসাবে কোনও সংশোধন পোস্ট করুন।
p wpdb-> প্রস্তুত ("আইডি থেকে% টেবিল নির্বাচন করুন =% d এবং নাম =% s", $ আইডি, $ নাম);
উপরের বিবৃতিতে 2 টি অতিরিক্ত গুণ রয়েছে। একটি আইডির জন্য এবং একটি নামের জন্য। যতদূর আমি এটি পড়েছি, প্রতিটি আপনার ক্যোয়ারীতে আইটেমের সংখ্যার সাথে সামঞ্জস্য করে। এছাড়াও% s = স্ট্রিং,% d = পূর্ণসংখ্যা এবং% f = ফ্লোট।
এছাড়াও, আমার পড়া থেকে, যদি আপনি অতিরিক্ত বৈশিষ্ট্যগুলি না রেখে থাকেন তবে প্রস্তুতি আসলে কিছুই করবে না। একটি সতর্কতা থাকবে, তবে আপনি যদি এটিটি বন্ধ করেন তবে সম্ভবত আপনি জানেন না know
এখানে শ্রেণীর রেফারেন্সের একটি উদাহরণ রয়েছে যেখানে তারা নীচে একটি 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,% s)", অ্যারে (10, $ metakey, $ metavalue) ));
আমার উদ্বেগটি হ'ল যে upvated উত্তর একই পৃষ্ঠা অনুযায়ী 'কেউ' উল্লেখ না করে ভুল। আমি ধরে নিচ্ছি যে আপনি প্রস্তুত () তবে পালানোর অন্যান্য স্ট্যান্ডার্ড পিএইচপি পদ্ধতি ব্যবহার করেন না কারণ আমি এই উত্তরটি যথাযথভাবে গ্রহণ করেছি ... যতক্ষণ না আমি গভীর গভীরতা খুঁটিয়েছি।
যাইহোক ... সম্ভবত আসল উত্তর থেকে জিনিসগুলি পরিবর্তন হয়েছে।
insert
&update
যে প্রয়োজন হবে না। তবে এটি ব্যবহার করা উচিতquery
।