PHP

【PHP】PHP7.2系から7.4系にアップデートし、開発アプリに不具合が発生した事

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

はじめに

あるフォームからMariaDBに書き込むアプリケーションに不具合が発生。
不具合の直前、CentOS7のPHPを7.2から7.4へアップデートした事、更にMariaDBも5系から10系にアップデートしていたので、どちらかのアップデートが原因。
とにかく原因をログから調査してみた。

不具合内容

このアプリは第三者が開発したPHPアプリ。
とりあえずログから確認すると、フォームからデータベースへのSQLのInsert処理でエラー。
SQLの実行部の変数を確認してみるとint型の項目へ空白が入っていた。

PHP7.2では発生せず、なぜ7.4のみ不具合が出ているのか・・・

原因はPOST取得か

更にアプリを分析すると、この項目(以降項目A)はフォームから直接【$_POST】で受け取ってからSQLを生成。
入力フォームの項目Aが未入力(空白)の場合、7.2ではnullとなるが7.4では空白をint型へ挿入する事でSQLエラーが発生する。

まとめ

今回は原因究明よりも対策を優先した為、調査はここまで。
7.2と7.4の仕様をもう少し調査したかったのですが、また時間のある時に行います。

エラー対策としては、未入力の場合はゼロ(NULLでもいいが)を挿入するようにプログラムを変更。

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

ブログ記事について

ブログ記事は基本、毎週月曜日午前中に発信!(ニュース関連については随時)
記事に価値があると感じましたら、応援をお願いいたします!

公式ホームページについて

当ブログではITエンジニア関連のテクニカルな事、そして様々な商品のレビュー記事を公開しています。
一方ホームページでは、それ以外の少しビジネス寄り(企業や個人事業主向け)のサービスや情報を発信します。

該当される方、ご興味のある方はホームページの方もご参照ください。

コメントを残す

*