I can get something working however.....
int main(char **args) {
MYSQL_RES *result;
MYSQL_ROW row;
MYSQL *connection, mysql;
char *serverInfo="";
int state;
int PORTNUM = 3306;
unsigned long int version;
mysql_init(&mysql);
connection = mysql_real_connect(&mysql, "localhost", "username",
"password", "mydb", PORTNUM, NULL, 0);
/* check for a connection error */
if( connection == NULL ) {
/* print the error message */
printf("%s\n",mysql_error(&mysql));
return 1;
} else {
printf("%s\n","Everything Cool with the connection");
}
printf("version = %ul\n", mysql_get_server_version(&mysql));
mysql_close(connection);
printf("%s\n","Done.");
}
... prints out ...
Everything Cool with the connection
version = 40107l
Done.
... but that is as far as I can go until I can fix the Bus Error
Regards
Andy
On Tue, 2005-01-11 at 14:19 +0000, Andy Ford wrote:
> Thanks Jose ...
>
> but I still get the Bus Error message with the following code...
>
> int main(char **args) {
> MYSQL_RES *result;
> MYSQL_ROW row;
> MYSQL *connection, mysql;
> int state;
> int PORTNUM = 3306;
>
> mysql_init(&mysql);
> connection = mysql_real_connect(&mysql, "localhost", "root",
> "0sg0sb4Ig", "oui", PORTNUM, NULL, 0);
>
> if( connection == NULL ) {
> printf("%s\n",mysql_error(&mysql));
> return 1;
> } else {
> printf("%s\n","Everything Cool with the connection");
> }
> state = mysql_query(connection, "SELECT sysName from inv_device");
> result = mysql_store_result(connection);
> if (result) {
> printf( "Return set: columns=%d, rows=%d \n",
> mysql_field_count(connection),
> mysql_num_rows(result));
> mysql_free_result(result);
> } else {
> printf("%s\n", mysql_error(connection));
> return 1;
> }
> mysql_close(connection);
> printf("%s\n","Done.");
> }
>
> Regards
>
> Andy
>
> On Tue, 2005-01-11 at 14:57 +0100, Jose Miguel P�rez wrote:
> > Hi Andy,
> >
> > > state = mysql_query(connection, "SELECT * from mytable");
> > ******* ^^^^^^
> > > if( state ) {
> > > printf(mysql_error(connection));
> > > return 1;
> > > } else {
> > > printf("Everything Cool with the query\n");
> > > }
> >
> > // New code, retrieve resultset. --------
> > result = mysql_store_result(connection);
> > if (result) {
> > printf( "Return set: columns=%d, rows=%d \n",
> > mysql_field_count(connection),
> > mysql_num_rows(result));
> > mysql_free_result(__result);
> > } else {
> > printf("%s\n", mysql_error(connection));
> > return 1;
> > }
> > // New code -----------------------------
> >
> > > mysql_close(connection);
> > > printf("Done.\n");
> >
> > After doing a SELECT statement you should issue a "mysql_store_result" /
> > "mysql_use_result" operation to flush the resultset returned (even an empty
> > resultset). In fact, you should flush the resultset stream with every SQL
> > statement that returns data like SELECT, SHOW, DESCRIBE, and the like. See
> > the manual page on "mysql_store_result" for more information. Once in there,
> > you can follow the directions about section "21.2.3.20 mysql_field_count()"
> > about using "mysql_field_count" to check in you need to flush the resultset.
> > Do not forget to call "mysql_free_result" to free the memory allocated for
> > the returned resultset.
> >
> > Hope this helps, maybe mysql_close(...) got confused by pending data
> > from the server.
> >
> > One note though, you should NEVER use 'printf(whatever);' use
> > 'printf("%s", whatever);' instead.
> > If it happends to be some "%" inside "whatever" you will get coredumps.
> > For instance, see what happends when in your program,
> > mysql_error(connection) returns "Please use %d to display integers." (Not a
> > real MySQL error, obviously!! :-)
> >
> > Cheers,
> > Jose Miguel.
> >
> >
> --
> perl -e "print qq^bIG VeRN ! ^^qq^#'#Yv#=<D+ ^"
>
> This e-mail is private and may be confidential and is for the intended
> recipient only. If misdirected, please notify us by telephone and confirm
> that it has been deleted from your system and any copies destroyed. If you
> are not the intended recipient you are strictly prohibited from using,
> printing, copying, distributing or disseminating this e-mail or any
> information contained in it. We use reasonable endeavours to virus scan all
> e-mails leaving the Company but no warranty is given that this e-mail and any
> attachments are virus free. You should undertake your own virus checking.
> The right to monitor e-mail communications through our network is reserved by
> us.
>
>
>
--
perl -e "print qq^bIG VeRN ! ^^qq^#'#Yv#=<D+ ^"
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]