Req #73852 [Opn->Sus]: Deprecate and remove PDO::PARAM_NULL

From: Date: Mon, 09 Aug 2021 11:26:58 +0000
Subject: Req #73852 [Opn->Sus]: Deprecate and remove PDO::PARAM_NULL
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-235704@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 Updated by: cmb@php.net Reported by: dorin dot marcoci at gmail dot com Summary: Deprecate and remove PDO::PARAM_NULL -Status: Open +Status: Suspended Type: Feature/Change Request Package: PDO related PHP Version: Irrelevant Block user comment: N Private report: N New Comment: I suspend this ticket, until someone pursues the RFC process[1]. [1] <https://wiki.php.net/rfc/howto> Previous Comments: ------------------------------------------------------------------------ [2017-01-06 18:43:39] dorin dot marcoci at gmail dot com 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? ------------------------------------------------------------------------ [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

« previous php.bugs (#235704) next »