Bug #81084 [Com]: PDOStatement::queryString is uninitialized
| From: | techblogdhxh at gmail dot com | Date: | Wed, 12 Apr 2023 05:17:37 +0000 |
| Subject: | Bug #81084 [Com]: PDOStatement::queryString is uninitialized | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-244178@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=81084&edit=1
ID: 81084
Comment by: techblogdhxh at gmail dot com
Reported by: corey dot taylor dot fl at gmail dot com
Summary: PDOStatement::queryString is uninitialized
Status: Open
Type: Bug
Package: PDO Core
PHP Version: master-Git-2021-05-26 (Git)
Block user comment: N
Private report: N
New Comment:
Home Renovate Ideas are sharing latest news about home improvement, renovate, design, decoration,
real estate etc. More info to visit: (https://homerenovateideas.com)github.com
Previous Comments:
------------------------------------------------------------------------
[2021-06-01 22:51:32] corey dot taylor dot fl at gmail dot com
Ok with me. Maybe we can add an 8.1 specific note the PDOStatement docs.
------------------------------------------------------------------------
[2021-06-01 12:57:15] cmb@php.net
Can this ticket be closed now?
------------------------------------------------------------------------
[2021-05-31 23:15:15] corey dot taylor dot fl at gmail dot com
Looks like this should work for us in the future, thanks!
------------------------------------------------------------------------
[2021-05-31 12:55:21] nikic@php.net
I've allowed initializing assignments to PDOStatement::$queryString in https://github.com/php/php-src/commit/91eb201fd881f7f897d0647113e4a99d4d4f59e3.
------------------------------------------------------------------------
[2021-05-28 16:17:27] corey dot taylor dot fl at gmail dot com
The cake database wrapper is too large to show here, but the reason the queryString is checked in a
mock scenario is the SQLite driver checks the query post-execute. There's just too much code to
completely split up every line in a mock/test scenario so this kind of stuff still runs.
The mock scenario makes it hard to determine if $queryString "should" already be
initialized in the driver. We tried tracking things like "ensure execute was called", but
the mock scenario created an invalid PDOStatement so that made no difference.
I think the argument that properties can only be initialized by other code is contrary to other
argument seen in php dev that all properties should be initialized by the constructor.
That said, allowing us to initialize the queryString as needed in a one time, "readonly"
style would definitely work. That would actually help us test code triggering this error in a mock
up properly.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=81084
--
Edit this bug report at https://bugs.php.net/bug.php?id=81084&edit=1