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

From: 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

« previous php.bugs (#206330) next »