Search Postgresql Archives

Re: Username and Password authentication using pqxx library.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx


--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux