It works for me, I used your code:
Field =mycol Type=254 Length=20
so at least your code is fine, and the problem must be somewhere
else. I am using RH EL3.
cheers,
Doug
On 6 Oct 2008, at 19:52, Mike Aubury wrote:
I'm probably being a bit stupid - but I'm trying to determine (in
code) the
length of the string in the schema for a given table.
So - for example :
create table a (
blah char(20)
)
I want to return '20', but I'm getting '60' when I use
mysql_list_fields..
(Always seems to be 3x longer that I'm expecting)...
Am I missing something ? (or should I just divide by 3!!)
Heres an example :
#include <stdio.h>
#include <stdlib.h>
#include <mysql.h>
MYSQL conn;
int main(int argc,char *argv[]) {
// run with username port as arguments
char *tabname="a";
char *db="test1";
char *u;
char *p;
MYSQL_RES *result;
MYSQL_FIELD *field;
if (argc!=3) {
printf("usage : %s username password\n", argv[0]);exit(2);
}
u=argv[1]; p=argv[2];
mysql_init(&conn);
if (!mysql_real_connect(&conn, NULL,u,p,db,0,NULL,0) ) {
fprintf(stderr,
"Failed to connect to database: Error: %s\n",
mysql_error(&conn));
exit(2);
}
result = mysql_list_fields (&conn, tabname, NULL);
field = mysql_fetch_field (result);
printf("Field =%s Type=%d Length=%d\n", field->name,
field->type, field->length);
}
Thanks in advance...
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]