hola
tengo una duda con este codigo, estaba estudiando como conectarme en C con mysql y ya entendi, pero ahora quise tomar la informacion de tabla con SELECT * FROM y si todo lo hago desde el mismo while, me aparece bien todo, pero no logro hacer que pueda guardar la informacion y despues usarla en otra parte del codigo
Les dejo el codigo, asi como lo pongo me funciona pero solo 1 informacion... pero si a esto
printf("%d %s\n",i
, first
[2]);
le pongo 1, me aparece esto ("") y si le pongo 0 me dice (Null).
alguien sabe como puedo tomar la informacion de SELECT y usarla en alguna zona distinta, por cierto lo estoy haciendo en linux
#include <mysql.h>
#include <stdio.h>
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *id;
char *first[5];
char *last;
int i = 0;
int main(){
char *server = "localhost";
char *user = "root";
char *password = "toor";
char *database = "database";
conn = mysql_init(NULL);
if(!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)){
fprintf(stderr
, "%s\n", mysql_error
(conn
));}
if (mysql_query(conn, "show tables")){
fprintf(stderr
, "%s\n", mysql_error
(conn
));}
res = mysql_use_result(conn);
printf("Base de datos en mysql: \n"); while((row = mysql_fetch_row(res)) != NULL){
if (mysql_query(conn, "SELECT * FROM contacts")){
fprintf(stderr
, "%s\n", mysql_error
(conn
));}
res = mysql_use_result(conn);
/////////////////////////////////////////////////////// ESTO ES LO QUE NO ME FUNCIONA////////////////////////
while((row = mysql_fetch_row(res)) != NULL){
i = i + 1;
first[i] = row[i];
}
printf("%d %s\n",i
, first
[0]);
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
mysql_free_result(res);
mysql_close(conn);
return 0;
}
salu2
#include <mysql.h>
#include <stdio.h>
int main(){
MYSQL *sCNN;
MYSQL_sRes *sRes;
MYSQL_sRow sRow;
char *sServer = "127.0.0.1";
char *sUser = "root";
char *sPassword = "****";
char *sDatabase = "mysql";
sCNN = mysql_init( NULL );
if( !mysql_real_sCNNect( sCNN, sServer, sUser, sPassword, sDatabase, 0, NULL, 0 ) ){
fprintf( stderr
, "%s\n", mysql_error
( sCNN
) ); }
if( mysql_query( sCNN, "show tables" ) ){
fprintf( stderr
, "%s\n", mysql_error
( sCNN
) ); }
sRes = mysql_use_sResult( sCNN );
printf( "MySQL Tables in mysql sDatabase:\n" ); while( ( sRow = mysql_fetch_sRow( sRes ) ) != NULL )
mysql_free_sResult( sRes );
mysql_close( sCNN );
return 0;
}