タグ

2020年3月28日のブックマーク (1件)

  • PHP 7.2以降におけるPDO::PARAM_INTの仕様変更

    サマリ PHP 7.2以降、PDOの内部実装が変更された。動的プレースホルダ(エミュレーションOFF)にてバインド時にPDO::PARAM_INTを指定した場合、PHP 7.1までは文字列型としてバインドされていたが、PHP 7.2以降では整数型としてバインドされる。 この変更により、従来PDOが内包していた「暗黙の型変換」は解消される一方、integerへの暗黙のキャストにより、整数の最大値を超えた場合に不具合が発生する可能性がある。 この記事を読むのに必要な前提知識 この記事は、以前の記事(下記)の続編のような形になっています。 PDOのサンプルで数値をバインドする際にintにキャストしている理由 この記事では、PDOを用いたサンプルスクリプトでbindValue時にinteger型へのキャストを明示している理由を説明しています。パラメータを文字列として渡した場合、PDO::PARAM

    ngyuki
    ngyuki 2020/03/28