Insert data into Wordpress database table from a custom form
Replace '$s' with '%s'
Use This Code
if ( isset( $_POST['submit'] ) ){ global $wpdb; $tablename = $wpdb->prefix.'post_job'; $wpdb->insert( $tablename, array( 'organizationname' => $_POST['organizationname'], 'post' => $_POST['post'], 'publishfrom' => $_POST['publishfrom'], 'publishupto' => $_POST['publishupto'], 'qualification1' => $_POST['qualification1'], 'qualification2' => $_POST['qualification2'], 'qualification3' => $_POST['qualification3'], 'qualification4' => $_POST['qualification4'], 'experience1' => $_POST['experience1'], 'experience2' => $_POST['experience2'], 'experience3' => $_POST['experience3'], 'training1' => $_POST['training1'], 'training2' => $_POST['training2'], 'training3' => $_POST['training3'], 'training4' => $_POST['training4'], 'training5' => $_POST['training5'] ), array( '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ); }
You can use this
<?phpif ( isset( $_POST['submit'] ) ){ global $wpdb; $tablename=$wpdb->prefix.'post_job'; $data=array( 'organizationname' => $_POST['organizationname'], 'post' => $_POST['post'], 'publishfrom' => $_POST['publishfrom'], 'publishupto' => $_POST['publishupto'], 'qualification1' => $_POST['qualification1'], 'qualification2' => $_POST['qualification2'], 'qualification3' => $_POST['qualification3'], 'qualification4' => $_POST['qualification4'], 'experience1' => $_POST['experience1'], 'experience2' => $_POST['experience2'], 'experience3' => $_POST['experience3'], 'training1' => $_POST['training1'], 'training2' => $_POST['training2'], 'training3' => $_POST['training3'], 'training4' => $_POST['training4'], 'training5' => $_POST['training5'] ); $wpdb->insert( $tablename, $data);}?>
Everyone has given the right answer. But there's something more. If you want more security, then better to use WordPress pdo for better protection against SQL attacks.
global $wpdb;$table_name = $wpdb->prefix."table_name_after_the_prefix";$sql = $wpdb->prepare( "INSERT INTO ".$table_name." (name, email, contact ) VALUES ( %s, %s, %d )", $name, $email, $contact );$wpdb->query($sql);// get the inserted record id.$id = $wpdb->insert_id;
REFERENCES