#47009 [Fbk]: PDO can't handle commented out lines with bound params

2009-01-06 Thread johannes
 ID:   47009
 Updated by:   johan...@php.net
 Reported By:  andrew at ajohnstone dot com
 Status:   Feedback
 Bug Type: PDO related
 Operating System: fedora
 PHP Version:  5.2.8
 New Comment:

I'm quite sure this is a problem with PS emulation, I have no test
system at hand ...

Not sue how to handle it in our parser:The SQL standard wants, afaik, a
space behind the --, MySQL fr instance doesn't need it.Additionally the
same problem should exist with /* */ comments, which are implemented in
different way, too (MySQL need no */)

Following the standard might still break stuff, not following the
standard might break other case, making it driver dependent will give a
mess...


Previous Comments:


[2009-01-05 22:44:03] fel...@php.net

Which SGBD are you using?



[2009-01-05 22:36:31] fel...@php.net

I can't reproduce it using sqlite.

?php

$x = new pdo('sqlite::memory');
$x-query('create table if not exists foo (x int)');
$x-query('insert into foo values (1)');
$x-query('insert into foo values (2)');
$y = $x-prepare('select x from foo 
where 
-- x = ?
x = ?');
var_dump($y-execute(array(2)));
var_dump($y-fetch());
var_dump($y-errorInfo());




bool(true)
array(2) {
  [x]=
  string(1) 2
  [0]=
  string(1) 2
}
array(1) {
  [0]=
  string(5) 0
}




[2009-01-05 15:34:08] andrew at ajohnstone dot com

Description:

databaseException: SQLSTATE[HY093]: Invalid parameter number: number of
bound variables does not match number of tokens

Can't handle commented out lines with bound params

Reproduce code:
---
SELECT 
  *
FROM 
  mapping_outlets mo
  JOIN media_outlets USING(mapping_outlets_id)
WHERE
  -- mo.mapping_outlets_id = ?
  mo.media_outlets_id = ?
GROUP BY ml.name
ORDER BY NULL
LIMIT 500

Expected result:

Ignore the commented outline.

Actual result:
--
databaseException: SQLSTATE[HY093]: Invalid parameter number: number of
bound variables does not match number of tokens





-- 
Edit this bug report at http://bugs.php.net/?id=47009edit=1



#47009 [Fbk]: PDO can't handle commented out lines with bound params

2009-01-05 Thread felipe
 ID:   47009
 Updated by:   fel...@php.net
 Reported By:  andrew at ajohnstone dot com
 Status:   Feedback
 Bug Type: PDO related
 Operating System: fedora
 PHP Version:  5.2.8
 New Comment:

Which SGBD are you using?


Previous Comments:


[2009-01-05 22:36:31] fel...@php.net

I can't reproduce it using sqlite.

?php

$x = new pdo('sqlite::memory');
$x-query('create table if not exists foo (x int)');
$x-query('insert into foo values (1)');
$x-query('insert into foo values (2)');
$y = $x-prepare('select x from foo 
where 
-- x = ?
x = ?');
var_dump($y-execute(array(2)));
var_dump($y-fetch());
var_dump($y-errorInfo());




bool(true)
array(2) {
  [x]=
  string(1) 2
  [0]=
  string(1) 2
}
array(1) {
  [0]=
  string(5) 0
}




[2009-01-05 15:34:08] andrew at ajohnstone dot com

Description:

databaseException: SQLSTATE[HY093]: Invalid parameter number: number of
bound variables does not match number of tokens

Can't handle commented out lines with bound params

Reproduce code:
---
SELECT 
  *
FROM 
  mapping_outlets mo
  JOIN media_outlets USING(mapping_outlets_id)
WHERE
  -- mo.mapping_outlets_id = ?
  mo.media_outlets_id = ?
GROUP BY ml.name
ORDER BY NULL
LIMIT 500

Expected result:

Ignore the commented outline.

Actual result:
--
databaseException: SQLSTATE[HY093]: Invalid parameter number: number of
bound variables does not match number of tokens





-- 
Edit this bug report at http://bugs.php.net/?id=47009edit=1