Обсуждение: Bug #726: PHP/PG ERROR: parser: parse error at or near ","

Поиск
Список
Период
Сортировка

Bug #726: PHP/PG ERROR: parser: parse error at or near ","

От
pgsql-bugs@postgresql.org
Дата:
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

Re: Bug #726: PHP/PG ERROR: parser: parse error at or near

От
Stephan Szabo
Дата:
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.

Re: Bug #726: PHP/PG ERROR: parser: parse error at or near ","

От
"Paul Redd-LaFlamme"
Дата:
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.