Req #73852 [Opn]: Deprecate and remove PDO::PARAM_NULL
| From: | dorin dot marcoci at gmail dot com | Date: | Fri, 06 Jan 2017 18:43:40 +0000 |
| Subject: | Req #73852 [Opn]: Deprecate and remove PDO::PARAM_NULL | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-206330@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=73852&edit=1
ID: 73852
User updated by: dorin dot marcoci at gmail dot com
Reported by: dorin dot marcoci at gmail dot com
Summary: Deprecate and remove PDO::PARAM_NULL
Status: Open
Type: Feature/Change Request
Package: PDO Core
PHP Version: Irrelevant
Block user comment: N
Private report: N
New Comment:
Christoph,
Please, see more on this subject here: https://github.com/php/php-src/commit/32b6154a61fae820386527f3019f8c5937fc5d27#commitcomment-20349204
I agree it require an RFC. But current implementation of PDO::PARAM_NULL as a type is really a bad
approach.
What to put in param this case?
bindValue('param', 'string', PDO::PARAM_NULL);
bindValue('param', 0, PDO::PARAM_NULL); // if 0 can be casted as null, why not 1?
or
bindValue('param', TRUE, PDO::PARAM_NULL); // Put a NULL here?
Previous Comments:
------------------------------------------------------------------------
[2017-01-06 18:34:05] cmb@php.net
> Nulls should be set like $stmt->bindValue('param', NULL,
> PDO::PARAM_INT);
As PHP is a loosely typed language, I would expect that to bind 0
(zero) to :param. Anyhow, having PDO::PARAM_NULL is not a bug per
se, and deprecating and removing it would almost certainly require
an RFC, see <https://wiki.php.net/rfc/howto>.
------------------------------------------------------------------------
[2017-01-02 18:04:15] dorin dot marcoci at gmail dot com
Description:
------------
NULL is a state, not a type or a value.
Using it as argument in bindValue or bindParam is a non-sense.
Nulls should be set like $stmt->bindValue('param', NULL, PDO::PARAM_INT);
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=73852&edit=1