troubles with getting data from tables

Поиск
Список
Период
Сортировка
От Roman Bogorodskiy
Тема troubles with getting data from tables
Дата
Msg-id 20030923201750.7cacf851.bogorodskiy@inbox.ru
обсуждение исходный текст
Ответы Re: troubles with getting data from tables  ("Jeroen T. Vermeulen" <jtv@xs4all.nl>)
Список 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
charactervarying NOT NULL,   rights character varying NOT NULL,   uid int4 NOT NULL,   ip_allowed character varying,
max_dl_speedinteger,   bytes_ul_total bigint,   bytes_dl_total bigint,   ratio integer,   flags character varying,
user_slotsinteger,   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]



В списке pgsql-interfaces по дате отправления:

Предыдущее
От: Michael Meskes
Дата:
Сообщение: Re: ECPG and structure declaration
Следующее
От: "Jeroen T. Vermeulen"
Дата:
Сообщение: Re: troubles with getting data from tables