LoginSignup
1

More than 3 years have passed since last update.

PHP5.6とPHP7.3でPDO::PARAM_INTの挙動が変わる

Last updated at Posted at 2019-06-16

PHP5.6 → 7.3 アップグレード時に発覚したPDOの非互換について記録しておく。

PDOでDBの値を更新するために以下のように記述

$stmt->bindParam(':param1', $float, PDO::PARAM_INT);

$floatに1.5が入力されていたとすると、

PHP5.6の場合、1.5で更新

PHP7.3の場合、1で更新

される。

小数点で更新する場合、

PDO::PARAM_STR

にすれば、どちらのバージョンでも整数に丸められず更新されるが、
PHP5.6のときは

PDO::PARAM_INT

でも、小数点が丸められずに更新できていた。

PHP7.0、7.1、7.2、7.3のどのタイミングで非互換が発生したのかは調査中。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1