#include <stdio.h>
#include <string.h>
#include <my_global.h>
#include <mysql.h>

int main(int argc, char **argv)
{

  MYSQL *conn;
  MYSQL_RES *result;
  MYSQL_ROW row;
  MYSQL_FIELD *field;

  int num_fields;
  int i;
  int irez;
  char sRequest[512];

  conn = mysql_init(NULL);
  mysql_real_connect(conn, "localhost", "oscada", "oscada", "oscada", 0, NULL, 0);

  while( 1 ) {
    printf("Введите строку запроса (до 512 символов): ");
    scanf("%512[^\n]%*c",sRequest);
    printf("Запрос: %s\nДлина строки: %d\n", sRequest, strlen(sRequest) );

    irez = mysql_real_query(conn, sRequest, strlen(sRequest));
    printf("Результат запроса: %d\n", irez);
    if( irez ) {
      printf("Код ошибки: %d, сообщение: %s\n", mysql_errno(conn), mysql_error(conn) );
      continue;
    }

    if( !(result = mysql_store_result(conn)) ) {
      printf("Нет результата\n");
      continue;
    }

    num_fields = mysql_num_fields(result);
    printf("Количество полей: %d\n", num_fields);

    while ((row = mysql_fetch_row(result))) {
      for(i = 0; i < num_fields; i++) {
        if (i == 0) {
          while(field = mysql_fetch_field(result)) {
            printf("%s ", field->name);
          }
          printf("\n");
        }
        printf("%s  ", row[i] ? row[i] : "NULL");
      }
    }
    printf("\n");

    mysql_free_result(result);
  }

  mysql_close(conn);
}
