FETCH_FUNC doesn't work with a callback
| Bug #37167 | PDO::FETCH_FUNC doesn't work with a callback | ||||
|---|---|---|---|---|---|
| Submitted: | 2006-04-22 15:30 UTC | Modified: | 2006-04-22 19:11 UTC | ||
| From: | troelskn at gmail dot com | Assigned: | |||
| Status: | Closed | Package: | PDO related | ||
| PHP Version: | 5.1.2 | OS: | * | ||
| Private report: | No | CVE-ID: | None | ||
[2006-04-22 15:30 UTC] troelskn at gmail dot com
Description: ------------ Using PDO::FETCH_FUNC with fetchAll() only works with a function. It would be nice if it worked with a normal callback type (as in call_user_func and others). If this can't be fixed, the error message must be changed, since "General error: user-supplied function must be a valid callback" is misleading.
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2006-04-22 17:44 UTC] tony2001@php.net
[2006-04-22 18:42 UTC] troelskn at gmail dot com
Reproduce code: --------------- <?php class Test { protected $connection; function __construct() { $this->connection = new PDO("sqlite::memory:"); $this->connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $this->connection->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER); $this->connection->query("CREATE TABLE test (a integer primary key)"); $this->connection->query("INSERT INTO test VALUES (22)"); } function select() { $query = "SELECT * FROM test"; $result = $this->connection->query($query); return $result->fetchAll(PDO::FETCH_FUNC, Array($this, 'loadRecord')); } function loadRecord($row) { return new ArrayObject($row); } } $test = new Test(); var_dump($test->select()); ?> Expected result: ---------------- no error Actual result: -------------- Apache crashes.[2006-04-22 19:11 UTC] tony2001@php.net