Syntax error with select statement
Hello,
I have problem with select statement in c++ program I am using pqxx library to connect to postgresql database.My query is
result R(T.exec(" select * from dbtable where username = ' "+user+" ' and password = ' "+st+" ' "));
here st is in encrypted format and the string is st = M^fuo|`sjyo|`so|>-?z this is the string i stored in the table .
The error I was encountered is "terminate called after throwing an instance of 'pqxx::syntax_error'
what(): ERROR: unterminated quoted string at or near "'M^fuo|`sjyo|`so|>-?z"
LINE 1: ...table where username = 'achandana' and password = 'M^fuo|`sj...
^ "
I am not able to identify what the actual problem is can you guys please help to solve this problem?Your help is greatly appreciated.
Thank You,
Aravind.
^
aravind chandu wrote:
Hello,
I have problem with select statement in c++ program I am
using pqxx library to connect to postgresql database.My query isresult R(T.exec(" select * from dbtable where username = '
"+user+" ' and password = ' "+st+" ' "));here st is in encrypted format and the string is st =
M^fuo|`sjyo|`so|>-?z this is the string i stored in the table .The error I was encountered is "terminate called after
throwing an instance of 'pqxx::syntax_error'
what(): ERROR: unterminated quoted string at or near
"'M^fuo|`sjyo|`so|>-?z"
LINE 1: ...table where username = 'achandana' and password = 'M^fuo|`sj...^ "
I am not able to identify what the actual problem is can you guys
please help to solve this problem?Your help is greatly appreciated.Thank You,
Aravind
Well its telling you in the error the quotes are flaky. It apears that
the password portion contains another sing quote.
I would move to double dollar quoting when dealing with strings that
contain special characters
example
R(T.exec(" select * from dbtable where username = $UserName$ " + user +
" $Username$ and password = $Password$ " + st + " $Password$ "));
see http://www.postgresql.org/docs/8.3/static/sql-syntax-lexical.html
on dollar quoting
On Wednesday 17 December 2008, justin said something like:
aravind chandu wrote:
Hello,
I have problem with select statement in c++ program I am
using pqxx library to connect to postgresql database.My query isresult R(T.exec(" select * from dbtable where username =
' "+user+" ' and password = ' "+st+" ' "));here st is in encrypted format and the string is st =
M^fuo|`sjyo|`so|>-?z this is the string i stored in the table .The error I was encountered is "terminate called after
throwing an instance of 'pqxx::syntax_error'
what(): ERROR: unterminated quoted string at or near
"'M^fuo|`sjyo|`so|>-?z"
LINE 1: ...table where username = 'achandana' and password =
'M^fuo|`sj...^ "
I am not able to identify what the actual problem is can you guys
please help to solve this problem?Your help is greatly appreciated.Thank You,
AravindWell its telling you in the error the quotes are flaky. It apears
that the password portion contains another sing quote.I would move to double dollar quoting when dealing with strings that
contain special charactersexample
R(T.exec(" select * from dbtable where username = $UserName$ " +
user + " $Username$ and password = $Password$ " + st + " $Password$
"));see http://www.postgresql.org/docs/8.3/static/sql-syntax-lexical.html
on dollar quoting
Better yet, use placeholders and let the driver do the quoting.
j
--
Joshua Kugler
Part-Time System Admin/Programmer
http://www.eeinternet.com
PGP Key: http://pgp.mit.edu/ ID 0xDB26D7CE
Hello,
Thanks for your help,but i still have some
problem.While executing it i encountered an error something like this:
terminate called after throwing an instance of 'pqxx::syntax_error'
what(): ERROR: unterminated dollar-quoted string at or near "$Password$ M^fuo|`sjyo|`so|>-?z"
LINE 1: ... = $Username$ achandana $Username$ and password = $Password$...
^
I just give the query as it is in your previous mail.But still i got some problem can you please tell me.
Thank You,
Aravind.
--- On Thu, 12/18/08, Joshua J. Kugler <joshua@eeinternet.com> wrote:
From: Joshua J. Kugler <joshua@eeinternet.com>
Subject: Re: [GENERAL] Syntax error with select statement
To: pgsql-general@postgresql.org
Date: Thursday, December 18, 2008, 1:51 AM
On Wednesday 17 December 2008, justin said something like:
aravind chandu wrote:
Hello,
I have problem with select statement in c++ program I am
using pqxx library to connect to postgresql database.My query isresult R(T.exec(" select * from dbtable where username
=
' "+user+" ' and password = ' "+st+"
' "));
here st is in encrypted format and the string is st =
M^fuo|`sjyo|`so|>-?z this is the string i stored in the table .The error I was encountered is "terminate called after
throwing an instance of 'pqxx::syntax_error'
what(): ERROR: unterminated quoted string at or near
"'M^fuo|`sjyo|`so|>-?z"
LINE 1: ...table where username = 'achandana' and password =
'M^fuo|`sj...^ "
I am not able to identify what the actual problem is can you guys
please help to solve this problem?Your help is greatly appreciated.Thank You,
AravindWell its telling you in the error the quotes are flaky. It apears
that the password portion contains another sing quote.I would move to double dollar quoting when dealing with strings that
contain special charactersexample
R(T.exec(" select * from dbtable where username = $UserName$ "
+
user + " $Username$ and password = $Password$ " + st + "
$Password$
"));
see http://www.postgresql.org/docs/8.3/static/sql-syntax-lexical.html
on dollar quoting
Better yet, use placeholders and let the driver do the quoting.
j
--
Joshua Kugler
Part-Time System Admin/Programmer
http://www.eeinternet.com
PGP Key: http://pgp.mit.edu/ ID 0xDB26D7CE
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general