From: | Roman Bogorodskiy <bogorodskiy(at)inbox(dot)ru> |
---|---|
To: | pgsql-interfaces(at)postgresql(dot)org |
Subject: | troubles with getting data from tables |
Date: | 2003-09-23 16:17:50 |
Message-ID: | 20030923201750.7cacf851.bogorodskiy@inbox.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-interfaces |
pgsql-interfaces@
I'm writing a backend for some ftp demon on C. I want to make it possible
to authorize server's clients via pgsql. And I have a such problem:
I have a function FCN_VALIDATE_LOGIN which checks if a given users name is ok.
It's looks like this (I've removed some debug code) :
---cut 8<---
int
FCN_VALIDATE_LOGIN (const char *login)
{
PGresult *res;
char *query;
query = malloc(256);
sprintf(query, "SELECT * FROM users WHERE name=\'%s\';", login);
res = PQexec(conn, query);
if (!res || PQresultStatus(res) != PGRES_TUPLES_OK) {
fprintf(stderr, "%s\n", PQresultErrorMessage(conn));
printf("Error\n");
}
if (PQntuples(res) == 1) {
int uid_field_index;
unsigned int *uid;
uid_field_index = PQfnumber(res, "uid");
uid = (int *) PQgetvalue(res, 0, uid_field_index);
#ifdef DEBUG
fprintf(stderr, "uid_field_index = %i\n uid %i\n", uid_field_index, uid);
#endif
// return uid;
} else { // Not such user
return -1;
}
PQclear(res);
}
---cut 8<---
And I have a such table:
---cut 8<---
CREATE TABLE users (
name character varying NOT NULL,
passwd character varying,
home character varying,
groups character varying NOT NULL,
rights character varying NOT NULL,
uid int4 NOT NULL,
ip_allowed character varying,
max_dl_speed integer,
bytes_ul_total bigint,
bytes_dl_total bigint,
ratio integer,
flags character varying,
user_slots integer,
leech_slots integer
);
---cut 8<---
I have only one row in this table where uid is '1001'.
wzdftpd=# select uid from users;
uid
------
1001
(1 row)
But instead of '1001' "uid" value is '134820376'. Where I was wrong?
-Roman Bogorodskiy [Novel]
From | Date | Subject | |
---|---|---|---|
Next Message | Jeroen T. Vermeulen | 2003-09-23 16:45:04 | Re: troubles with getting data from tables |
Previous Message | Paulo Scardine | 2003-09-22 19:02:57 | Re: Killing the backend to cancel a long waiting query |