Hi!
This is probably more of a C inadequacy than a MySQL problem. I'm playing
around with C with MySQL (I have to date only interfaced with it in
PHP) and I was curious if anyone had any example code which illustrates
how you would write functions which return mysql data.
For example, in PHP I might write a simple function like this:
function get_specific_db_column($dbname, $tblname, $pk,
$pk_val, $colname)
{
$sql = "SELECT $colname as val
FROM $dbname.$tblname
WHERE $pk = '$pk_val'";
$r = mysql_query($sql);
while ($row = mysql_fetch_array($r))
$array[] = $row;
return $array;
}
But, in C I haven't figured out how to do things like navigate passing the
MYSQL *mysql init pointer into the function for mysql_query etc.
I can however get a program WITHOUT functions (ie, hardcode the
query) compiled and working:
// Simple test application
// for the C Mysql API
#include <sys/time.h>
#include <stdio.h>
#include <mysql.h>
#define def_host_name NULL
#define def_user_name "root"
#define def_password NULL
#define def_db_name "reflectivity"
int main (char **arg)
{
MYSQL_RES *result;
MYSQL_ROW row;
MYSQL *connection, mysql;
int state;
char colsize=10, rowsize=10;
// connect to the mysql database on internal
mysql_init(&mysql);
connection = mysql_real_connect(&mysql, def_host_name,
def_user_name,
def_password,
def_db_name,
0, /*port defaut*/
NULL, /*socket default*/
0); /*flag*/
if (connection == NULL) // check for a connection error
{
// print the error message
printf(mysql_error(&mysql));
return 1;
}
state = mysql_query(connection,"SELECT * from reflectivity.accounts");
if (state != 0)
{
printf(mysql_error(connection));
return 1;
}
// you must call mysql_store_result before we can issue anything else
result = mysql_store_result(connection);
printf("Rows: %d\n", mysql_num_rows(result));
// process each row in the result set
while ((row = mysql_fetch_row(result)) != NULL)
printf("%s - %s - %s - %s - %s\n",row[0],row[1],row[2],row[3],row[4]);
// free some memory
mysql_free_result(result);
// close the mysql connection
mysql_close(connection);
printf("Done.\n");
}
Ny guess is that if I just see a couple of examples which mimic some of
the functionality of the above PHP function in C I'll be able to write
them without a problem.
Any pointers on where to look?
Thanks!
Seth
---------------------------------------------------------------------
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