Bug #52003 [Com]: Incorrect PDOStatement::execute() signature
| From: | reeze dot xia at gmail dot com | Date: | Sun, 09 Sep 2012 14:37:41 +0000 |
| Subject: | Bug #52003 [Com]: Incorrect PDOStatement::execute() signature | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-173281@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=52003&edit=1
ID: 52003
Comment by: reeze dot xia at gmail dot com
Reported by: v1d4l0k4 at gmail dot com
Summary: Incorrect PDOStatement::execute() signature
Status: Assigned
Type: Bug
Package: PDO related
Operating System: Irrelevant
PHP Version: Irrelevant
Assigned To: pierrick
Block user comment: N
Private report: N
New Comment:
This seems been forgotten by pierrick.
Previous Comments:
------------------------------------------------------------------------
[2012-01-30 05:52:51] larry at ldrutledge dot com
The situation appears to be unchanged in 5.3.9. The manual still shows a type hint of array but a
method in an extended class still triggers a warning unless the type hint is omitted.
------------------------------------------------------------------------
[2010-10-19 07:07:17] kalle@php.net
Pierrick, why don't you commit that patch the src? And add a changelog entry if reasonable for
PDOStatement::execute() :)
------------------------------------------------------------------------
[2010-06-06 06:13:42] pierrick@php.net
The following patch has been added/updated:
Patch Name: ZEND_ARG_ARRAY_INFO
Revision: 1275797622
URL: http://bugs.php.net/patch-display.php?bug=52003&patch=ZEND_ARG_ARRAY_INFO&revision=1275797622
------------------------------------------------------------------------
[2010-06-05 22:53:10] v1d4l0k4 at gmail dot com
Description:
------------
Manual says PDOStatement::execute() signature is:
bool PDOStatement::execute ([ array $input_parameters = array() ] )
But in fact it is:
bool PDOStatement::execute ([ $input_parameters = null ] )
Test script:
---------------
<?php
class DBStatement extends PDOStatement
{
public function execute(array $input_parameters = array())
{
return parent::execute($input_parameters);
}
}
$PDO = new PDO('mysql:host=127.0.0.1', 'root', '');
$PDO->setAttribute(PDO::ATTR_STATEMENT_CLASS, array('DBStatement'));
Expected result:
----------------
No errors
Actual result:
--------------
Strict Standards: Declaration of DBStatement::execute() should be compatible with that of
PDOStatement::execute() in /media/ext/Web/htdocs/test/bug.php on line 9
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=52003&edit=1