At 10:42 -0500 6/26/02, rm wrote: >I'm trying to retrieve a particular field using C API. When I use this >select statement from the mysql client it retrievs the correct result: > >mysql>SELECT ap_senders FROM mailtable WHERE pw_name='regis' and >pw_domain='mbpost.com'; > >But... > >In the C function listed below: > >#include <stdio.h> >#include <mysql.h> > >int main(char **args) >{ > MYSQL_RES *result; > MYSQL_FIELD *field; > MYSQL *connection, mysql: > int state; > > mysql_init(&mysql); > connection = mysql_real_connect(&mysql,"localhost","root","",\ > "mailtable",0,NULL,0); > > if(connection == NULL) { > printf(mysql_error(&mysql)); > return 1; } > > state = mysql_query(connection, "SELECT ap_senders FROM\ mailtable >WHERE pw_name='regis' and pw_domain='mbpost.com'"); > > if (state != 0) { > printf(mysql_error(connection)); > retrun 1;} > > result = mysql_store_result(connection); > printf("Found %d field\n", mysql_num_fields(result)); > > while ( ( field = mysql_fetch_field(result)) != NULL) { > printf("approved sender ID; %s\n", *field); //problem here! > > mysql_free_result(result); > mysql_close(connection); > printf(Done.\n"); >} > >It compiles without error or warning but instead of getting the results >of what is in the field - I get the name of field. The output is: > >Found 1 field >approved sender ID; ap_senders >Done. > >Of course ap_senders is the field name, not the query result. So, I'm >obviously asking for the wrong thing somewhere - any comments or >suggestions are greatly appreciated.
mysql_fetch_field() fetches column metadata, not column data. You want mysql_fetch_row() instead. It's described in the manual. > >Regis --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php