Bug #81310 [Nab]: Clarify UPGRADING entry (bug?)
| From: | cmb@php.net | Date: | Thu, 29 Jul 2021 21:06:51 +0000 |
| Subject: | Bug #81310 [Nab]: Clarify UPGRADING entry (bug?) | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-235466@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=81310&edit=1
ID: 81310
Updated by: cmb@php.net
Reported by: alec@php.net
Summary: Clarify UPGRADING entry (bug?)
Status: Not a bug
Type: Bug
Package: PDO MySQL
PHP Version: 8.1.0beta1
Block user comment: N
Private report: N
New Comment:
> Maybe query() uses prepared queries internally.
Right. That has recently been clarified in the documentation[1]:
| PDO::query() prepares and executes an SQL statement in a single
| function call, [â¦]
[1] <https://www.php.net/manual/en/pdo.query.php>
Previous Comments:
------------------------------------------------------------------------
[2021-07-29 19:01:05] requinix@php.net
pdo_mysql enables emulated prepares by default.
------------------------------------------------------------------------
[2021-07-29 17:37:33] alec@php.net
Description:
------------
In UPGRADING there's this:
"
- PDO MySQL:
. Integers and floats in result sets will now be returned using native PHP
types instead of strings when using emulated prepared statements. This
matches the behavior of native prepared statements. You can restore the
previous behavior by enabling the PDO::ATTR_STRINGIFY_FETCHES option.
"
In my code I don't use prepare()/execute(), nor PDO::ATTR_EMULATE_PREPARES. All I use is
query()/fetch(). However, I noticed that I started getting integers instead of strings now.
So, is that a bug? Maybe query() uses prepared queries internally. But then maybe it should be
clarified, that it has really nothing to do with prepared statements mode.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=81310&edit=1