Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Fallo de segmentación en mysql (código C dummie)

Estas en el tema de Fallo de segmentación en mysql (código C dummie) en el foro de Bases de Datos General en Foros del Web. Hola! Quiero insertar datos desde un código C a una base de datos. El problema que me da es "fallo de segmentación" cuando ejecuto el ...
  #1 (permalink)  
Antiguo 15/10/2009, 10:07
 
Fecha de Ingreso: agosto-2008
Mensajes: 143
Antigüedad: 16 años, 3 meses
Puntos: 1
Fallo de segmentación en mysql (código C dummie)

Hola!

Quiero insertar datos desde un código C a una base de datos. El problema que me da es "fallo de segmentación" cuando ejecuto el programa, aunque los datos son bien insertados. Qué hago mal para poder eliminar ese error?? (uso linux, lo compilo con: gcc gestor.c -o gestor -L/usr/lib/mysql -lmysqlclient )

Código:
#include <mysql/mysql.h>
#include <stdio.h>
#include <stdlib.h>


main() {
   MYSQL *conn;
   MYSQL_RES *res;
   MYSQL_ROW row;

   char *server = "localhost";
   char *user = "root";
   char *password = "**"; 
   char *database = "**";

   conn = mysql_init(NULL);

   /* Connect to database */
   if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) {
      fprintf(stderr, "%s\n", mysql_error(conn));
      exit(1);
   }

   /* send SQL query */
   if (mysql_query(conn, "insert into logs (id, temps, filename) values (545, now(), 'seeeh');")) {
      fprintf(stderr, "%s\n", mysql_error(conn));
      exit(1);
   }
   res = mysql_use_result(conn);   
   mysql_free_result(res);


   /* output table name */
   printf("MySQL Tables in mysql database:\n");
   while ((row = mysql_fetch_row(res)) != NULL)
      printf("%s \n", row[0]);

   /* close connection */
   mysql_free_result(res);
   mysql_close(conn);
}

Última edición por samy4ever; 15/10/2009 a las 10:16
  #2 (permalink)  
Antiguo 16/10/2009, 18:09
 
Fecha de Ingreso: agosto-2008
Mensajes: 143
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Fallo de segmentación en mysql (código C dummie)

:(.........
  #3 (permalink)  
Antiguo 17/10/2009, 08:29
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Fallo de segmentación en mysql (código C dummie)

Si los datos se insertan correctamente, entonces no tiene relación ni con el motor de MySQL, ni con el uso de su librería, en cuanto al uso de sus recursos se refiere.
Lo que probablemente tienes es un problema de programación en C (administración de memoria), por lo cual te sugiero que busques un foro especializado en el tema.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 17/10/2009, 09:03
 
Fecha de Ingreso: agosto-2008
Mensajes: 143
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Fallo de segmentación en mysql (código C dummie)

Gracias, ya lo solucioné. Era una chorrada, fijaros que hago dos veces el free...!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:04.