sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo se guarda el resultado de una consulta MySQL en una variable en c?

respuesta corta:

int i = atoi(row[0]);

respuesta larga:

http://dev.mysql.com/doc /refman/5.0/en/mysql-fetch-row.html

Devuelve un MYSQL_ROW. Luego debe iterar a través de la fila para obtener cada valor. Esos valores son cadenas, por lo que deberá convertirlos a int con atoi() . Esto se demuestra en el siguiente código (excepto el atoi() call) robado descaradamente del enlace de arriba:

MYSQL_ROW row;
unsigned int num_fields;
unsigned int i;

num_fields = mysql_num_fields(result);
while ((row = mysql_fetch_row(result)))
{
   unsigned long *lengths;
   lengths = mysql_fetch_lengths(result);
   for(i = 0; i < num_fields; i++)
   {
       printf("[%.*s] ", (int) lengths[i],
              row[i] ? row[i] : "NULL");
   }
   printf("\n");
}