Update Records and Add New Records – WordPress हमें insert() व update() नाम के दो मुख्य API Methods Provide करता है और जहां तक सम्भव हो, हमें इन्हीं Methods को Use करते हुए ही WordPress Database की किसी Table में या अपनी किसी Custom Table में Record को Insert या Update करना चाहिए।
क्योंकि ये Methods स्वयं ही MySQL Database में Record को Insert करते समय Data को Sanitize करके Insert होने के लिए Prepare कर लेते हैं। यानी हमें prepare() Method को Use करने की जरूरत नहीं होती क्योंकि ये Methods स्वयं ही Internally इस Method को Use करके User Input को Sanitize कर लेते हैं।
Insert New Record
जब हम हमारे MySQL Database की किसी Table में किसी Record को Insert करना चाहते हैं, तब हम $wpdb->insert() Method को Use कर सकते हैं। ये Method तीन Arguments Accept करता है:
- Table Name
- Array of Column/Value Pairs
- Optional Format of Array (%d or %s)
इस Method को Use करते समय हमें जिस Data को Database की किसी Table में Insert करना होता है, उसे Sanitize करने की जरूरत नहीं होती है, बल्कि सामान्यत: Table में Insert किया जाने वाला सारा Data, एक Raw Data की तरह या Un-escaped Format में Specify किया जाता है, जबकि SQL Injection Attack से बचने के लिए जितने भी जरूरी Operations Perform करने की जरूरत होती है, WordPress स्वयं उन्हें Internally Perform करता है।
यानी Secure तरीके से WordPress Database की किसी Table में Record को Insert करने के लिए जहां तक सम्भव हो, हमें हमेंशा इस insert() Method को ही Priority के साथ Use करना चाहिए। इस Method को हम निम्नानुसार तरीके से किसी Record को Insert करने के लिए Use कर सकते हैं:
<?php function add_newsletter_post( $newsletter_title, $newsletter_description ) { global $wpdb; $wpdb->insert( $wpdb->posts, // First Argument array( // Second Argument 'post_title' => $newsletter_title, 'post_content' => $newsletter_description, 'post_type' => 'mp3' ), array('%s', '%s', '%s') // Third Argument ); } ?>
इस Code में हमने add_newsletter_post नाम का एक Function Create किया है, जिसे Call करने पर wp_posts Table में newsletter Custom Post Type का एक Record Insert होगा।
इस Method को Use करते समय तीसरे Argument के रूप में हम Format Specify करने वाले Control Characters (%d, %s, %f) को Simple String के रूप में भी Specify कर सकते हैं और एक Array के रूप में भी। जबकि यदि हम इस तीसरे Argument को Specify नहीं करते हैं, तो WordPress द्वारा इसे Default रूप से String की तरह ही Treat किया जाता है।
यदि ये Method Normal तरीके से Execute होता है, तो दूसरे Argument के रूप में Specified Record Fields का Collection यानी Record, First Argument में Specified Table में Insert हो जाता है। जबकि Method के Fail होने की स्थिति में ये Method false Return करता है।
Update Records
जब हम हमारे MySQL Database की किसी Table में Stored किसी Record के Data को Change करते हुए उसे Update करना चाहते हैं, तब हम $wpdb->update() Method को Use कर सकते हैं। हालांकि SQL Injection Attack Safe तरीके से नया Record Insert करने के लिए भी इस Method को Use किया जा सकता है। ये Method में भी insert() Method की तरह ही तीन मुख्य Arguments Pass किए जा सकते हैं:
- Table Name
- Array of Column/Value Pairs to be Changed
- Array of Column/Value Pairs used as “WHERE” Condition for Update
जब हम इस Method को Use करते हैं तब हम इन तीनों ही Arguments को Compulsory रूप से Specify करना जरूरी होता है। जबकि ये Method दो और Arguments भी Accept करता है, जो कि insert() Method के तीसरे Argument की तरह update() Method के दूसरे और तीसरे Argument के Insert/Update होने वाले Data Format को Specify करता है। इस Method को हम निम्नानुसार तरीके से Use कर सकते हैं:
<?php function update_newsletter_post( $nl_id, $nl_title, $nl_description ) { global $wpdb; $wpdb->update( $wpdb->posts, //1st Arg. array( 'post_title' => $nl_title, 'post_content' => $nl_description ), //2nd Arg. array( 'ID' => $post_id ), //3rd Arg. array( '%s', '%s'), //4th Arg. array( '%d' ) //5th Arg. ); } ?>
जैसाकि उपरोक्त Code में हम देख सकते हैं कि दूसरे Argument में Specified Parameters के Format को चौथे Array में तय किया गया है जबकि तीसरे Argument में Specified Parameters के Format को पांचवे Array में तय किया गया है।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Advance WordPress in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी है, तो निश्चित रूप से ये EBook भी आपके लिए काफी उपयोगी साबित होगी।
Advance WordPress in Hindi | Page: 835 | Format: PDF