Re: Username and Password authentication using pqxx library. - Mailing list pgsql-general

From Klint Gore
Subject Re: Username and Password authentication using pqxx library.
Date
Msg-id 49079E5E.4010607@une.edu.au
Whole thread Raw
In response to Username and Password authentication using pqxx library.  (aravind chandu <avin_friends@yahoo.com>)
List pgsql-general
aravind chandu wrote:
>             I am using pqxx API for postgresql.The following is the
> part of my code.The problem is in the query I am selecting the number
> of rows from the table since there is only one user name and password
> row it should return 1 and if there is no match then it should return
> 0.But here Even though I give wrong username or password its getting
> authenticated.please help me,what should I put in the "if ()"
> statement inorder to solve this issue .
>
> result R(T.exec("select count(*) from dbtable where
> username="+username+" and password="+password+""));
>
>     if (R.empty())
>         {
>             throw logic_error("No tables found");
>             *shm = '5';
>         }
>     else
>         {
>             cout<<"Authenticated";
>             *shm='0';
>         }
>
You don't want to test if the result is empty - you want to test if the
value returned is 0.

If you select the username and group by it, then you could test for the
empty result.

# select count(*) from users where username = 'hfkhsdf';
 count
-------
     0
(1 row)

# select username, count(*) from users where username = 'hfkhsdf' group
by 1;
 username | count
----------+-------
(0 rows)

klint.

--
Klint Gore
Database Manager
Sheep CRC
A.G.B.U.
University of New England
Armidale NSW 2350

Ph: 02 6773 3789
Fax: 02 6773 3266
EMail: kgore4@une.edu.au


pgsql-general by date:

Previous
From: Christophe
Date:
Subject: Re: postgresql and Mac OS X
Next
From: Tom Lane
Date:
Subject: Re: UUID-OSSP Contrib Module Compilation Issue