*** ../websql-0.9/msql_admin.c	Fri Sep 22 17:26:11 1995
--- msql_admin.c	Sun Oct 29 11:24:15 1995
***************
*** 483,522 ****
    BPRINTF_BUFFER *query;
    int i;
    int multi = 0;
  
!   query = bprintf_create_buffer ();
  
!   bprintf (query, "UPDATE %s SET ", db_table_name);
  
  
!   msqlFieldSeek (db_fields, 0);
  
!   for (i = 0; i < msqlNumFields(db_fields); i++)
!     {
        char *val;
        m_field *field;
  
        field = msqlFetchField(db_fields);
  
!       val = get_form_var (field->name);
  
!       if (multi == 0)
! 	{
  	  multi = 1;
! 	}
!       else
! 	{
  	  bprintf (query, ", ");
! 	}
  
!       if (val)
! 	{
! 	  if (field->type == CHAR_TYPE)
! 	    bprintf (query, "%s='%s'", field->name, val);
! 	  else
! 	    bprintf (query, "%s=%s", field->name, val);
! 	}
      }
  }
  
  /* Inset a record with the fields which are in the form. */
--- 482,542 ----
    BPRINTF_BUFFER *query;
    int i;
    int multi = 0;
+   LIST *search_terms;
  
!   /* A list of field names to be used in the update. */
!   search_terms = get_search_terms ();
  
!   if (list_length(search_terms) == 0) {
  
+       printf("<h3>You must check at least one field from the table to be active when doing a UPDATE operation.</h3>\n");
+       return;
+   }
  
!   query = bprintf_create_buffer();
  
!   bprintf(query, "UPDATE %s SET ", db_table_name);
! 
!   msqlFieldSeek(db_fields, 0);
! 
!   for (i = 0; i < msqlNumFields(db_fields); i++) {
        char *val;
        m_field *field;
  
        field = msqlFetchField(db_fields);
  
!       val = get_form_var(field->name);
  
!       if (multi == 0) {
  	  multi = 1;
!       } else {
  	  bprintf (query, ", ");
!       }
! 
!       if (val) {
! 	      if (field->type == CHAR_TYPE)
! 		      bprintf (query, "%s='%s'", field->name, val);
! 	      else
! 		      bprintf (query, "%s=%s", field->name, val);
!       }
!   }
  
!   if (list_length(search_terms) > 0)
!     {
!       char *sql_string;
! 
!       sql_string = make_sql_search_string(search_terms);
! 
!       if (sql_string && strlen(sql_string) > 0)
! 	bprintf (query, " WHERE %s", sql_string);
      }
+ 
+   printf ("<pre>Update statement: %s\n</pre>\n", query->buffer);
+ 
+   if (msqlQuery (sock, query->buffer) < 0) {
+       fprintf (stdout, "Query failed (%s)\n",msqlErrMsg);
+       exit(0);
+   }
  }
  
  /* Inset a record with the fields which are in the form. */


