Thread: Bug #726: PHP/PG ERROR: parser: parse error at or near ","
Paul Redd-LaFlamme (predd-laflamme@strata-g.com) reports a bug with a severity of 1 The lower the number the more severe it is. Short Description PHP/PG ERROR: parser: parse error at or near "," Long Description The SQL statement INSERT INTO users (user_name, comp_id, password) VALUES ('Yuk',8,'Yuk'); works fine when typed directly into the postgres shell, but yields the error ERROR: parser: parse error at or near "," when, and only when the '8' is inserted into the string in PHP by any means. In other words, the SQL statement provided works fine when hardcoded, but fails every single time (making my applicationuseless) when the integer insert value is inserted into the PHP statement by any means. I am using PostgreSQL 7.2.1 and PHP 4.2.1 on Redhat Linux. I couldn't find any instructions to find TODO so I can find outif anyone else has had a similar problem. Please advise me how to do so. Sample Code THE FOLLOWING WORK: INSERT INTO users (user_name, comp_id, password) VALUES ('Yuk',8,'Yuk'); [typed directly into terminal] $strSQL = "INSERT INTO users (user_name, comp_id, password) VALUES ('Yuk',8,'Yuk');"; $strResult = pg_query($dbConn, $strSQL); $strSQL = "INSERT INTO users (user_name, comp_id, password) VALUES ($userName,8,$password);"; $strResult = pg_query($dbConn, $strSQL); THE FOLLOWING FAIL: $strSQL = "INSERT INTO users (user_name, comp_id, password) VALUES ($usernanme,$someinteger,$password);"; $strResult = pg_query($dbConn, $strSQL); $strSQL = sprintf("INSERT INTO users (user_name, comp_id, password) VALUES (%s,%s,%s);", $usernanme, $someinteger, $password); $strResult = pg_query($dbConn, $strSQL); No file was uploaded with this report
On Wed, 31 Jul 2002 pgsql-bugs@postgresql.org wrote: > Paul Redd-LaFlamme (predd-laflamme@strata-g.com) reports a bug with a severity of 1 > The lower the number the more severe it is. > > Short Description > PHP/PG ERROR: parser: parse error at or near "," > > Long Description > The SQL statement > INSERT INTO users (user_name, comp_id, password) VALUES ('Yuk',8,'Yuk'); > > works fine when typed directly into the postgres shell, but yields the error > > ERROR: parser: parse error at or near "," > > when, and only when the '8' is inserted into the string in PHP by any means. > > In other words, the SQL statement provided works fine when hardcoded, > but fails every single time (making my application useless) when the > integer insert value is inserted into the PHP statement by any means. Try turning on query logging to see what sql statement the backend thinks it's getting.
Stephan: Thanks for the tip, as it helped me find the error. And it has been solved. Bugs List: You might want to remove this report. It was a PEBCAK 100%. I feel pretty stupid about the whole thing (and my head hurts from the banging against the wall). Thanks for the quick response, though, it's greatly appreciated. Paul Redd-LaFlamme -----Original Message----- From: Stephan Szabo [mailto:sszabo@megazone23.bigpanda.com] Sent: Wednesday, July 31, 2002 12:00 PM To: predd-laflamme@strata-g.com; pgsql-bugs@postgresql.org Subject: Re: [BUGS] Bug #726: PHP/PG ERROR: parser: parse error at or near "," On Wed, 31 Jul 2002 pgsql-bugs@postgresql.org wrote: > Paul Redd-LaFlamme (predd-laflamme@strata-g.com) reports a bug with a severity of 1 > The lower the number the more severe it is. > > Short Description > PHP/PG ERROR: parser: parse error at or near "," > > Long Description > The SQL statement > INSERT INTO users (user_name, comp_id, password) VALUES ('Yuk',8,'Yuk'); > > works fine when typed directly into the postgres shell, but yields the error > > ERROR: parser: parse error at or near "," > > when, and only when the '8' is inserted into the string in PHP by any means. > > In other words, the SQL statement provided works fine when hardcoded, > but fails every single time (making my application useless) when the > integer insert value is inserted into the PHP statement by any means. Try turning on query logging to see what sql statement the backend thinks it's getting.