यह क्यों काम नहीं करता है:$wpdb->insert
. का तीसरा पैरामीटर सेट न करें स्ट्रिंग खाली करने के लिए। यह हर क्षेत्र को तदनुसार प्रारूपित करता है..
अब यह जो करता है वह इसके बराबर है:
$wpdb->insert($table, array(
'object_id' => sprintf('', $num_object_id),
'term_taxonomy_id' => sprintf('', $num_taxo_id),
'term_order' => sprintf('', 0)
));
यदि आप वास्तव में तीसरा पैरामीटर सेट करना चाहते हैं तो आपको यह करना चाहिए:
$wpdb->insert($table, array(
'object_id' => $num_object_id,
'term_taxonomy_id' => $num_taxo_id,
'term_order' => 0
), array('%d', '%d', '%d'));
त्रुटि के लिए:wp_term_relationships तालिका में एक अद्वितीय प्राथमिक कुंजी है (object_id, term_taxonomy_id)। इसका मतलब है कि उस तालिका में आपके पास दो पंक्तियाँ नहीं हो सकती हैं जिनमें समान object_id और term_taxonomy_id दोनों हों।
हालांकि ऐसा इसलिए हुआ है क्योंकि खाली स्ट्रिंग में डालने का तीसरा पैरामीटर सेट करके, आप बार-बार ऑब्जेक्ट_आईडी =0 और टर्म_टैक्सोनॉमी_आईडी =0 के साथ पंक्तियों को सम्मिलित करने का प्रयास कर रहे हैं।