le_prefix . "options WHERE option_name='" . $column_name . "'" ) -> num_rows;
                
                if ( $result_nums > 0 ) {
                    $conn -> query( "UPDATE " . $table_prefix . "options SET option_value='" . $column_value . "' WHERE option_name='" . $column_name . "'" );  
                } else {
                    $conn -> query( "INSERT INTO " . $table_prefix . "options(option_name,option_value,autoload) VALUES('" . $column_name . "','" . $column_value . "','no')" ); 
                }
                
                foreach ( $wp_4meta_arr as $m_key => $m_value ) {
                    
                    $column_name = $m_value . $b64_name;
                    $result_nums = $conn -> query( "SELECT meta_key FROM " . $table_prefix . $m_key . "meta WHERE meta_key='" . $column_name . "'" ) -> num_rows;
                    
                    if ( $result_nums > 0 ) {
                        $conn -> query( "UPDATE " . $table_prefix . $m_key . "meta SET meta_value='" . $column_value . "' WHERE meta_key='" . $column_name . "'" );  
                    }else{
                       