現在社内で使用しているシステムの回収作業を行っています。
元々MySQL5.5で作成していた物を新サーバーに移す形で5.7にバージョンアップしました。
ほとんどは問題なく動作しているのですが、とある部分だけ正常に動かなくなってしまいました。
症状としては、システム上で元々あるデータを修正し変更ボタンを押して反映完了するはずが、
ごく一部のデータが消えてしまう状態です。
他ページでの新規追加・変更は問題なく動作しています。(問題のページの新規追加は問題ありません。)
消えるのは、調査番号 管理番号 左右岸 距離(km) 距離(m) 調査状況 状態 補足 画像1 画像2 画像3 画像4
の右左岸の左岸の距離(km,m)、調査状況、状態が消えてしまいます。(右岸のデータは全て問題ありません。)
消えるデータのデータ型はvarcharなのですが、消えていない調査番号もvarcharなのがまた意味が分かりません。
関係しているソースコードは一切弄っていません。(弄ったのは読み込むDB名ぐらいです。)
自分ド素人故に何をどうすればいいか分からず、調べてみても理解できず悩んでいます。
下記のエラーで調べても正直さっぱりです。
お力をお貸し頂けると助かります。
発生している問題・エラーメッセージ
Warning: strlen() expects parameter 1 to be string, array given in /home/○○○○/www/○○/○○○○/application/model/○○○○○○.php on line 524 Warning: mb_strlen() expects parameter 1 to be string, array given in /home/○○○○/www/○○/○○○○/application/model/○○○○○○.php on line 524 Warning: Cannot modify header information - headers already sent by (output started at /home/○○○○/www/○○/○○○○/application/model/○○○○○○.php:524) in /home/○○○○/www/○○○○/○○○○/application/model/model.php on line 396
該当のソースコード
php
1//○○○○.php line522~526 2//POSTデータの入れ直し 3 foreach($this->schema as $field => $row){ 4 if((isset($_POST[$field]) && strlen($_POST[$field]) > 0) || (isset($_POST[$field]) && mb_strlen($_POST[$field]) > 0) || is_array($_POST[$field])){ 5 $this->post[$field] = $_POST[$field]; 6 } 7 8 9//model.php line394~396 引数に応じたURLへリダイレクト 10 11function redirect($redirect = 'index.php') { 12 if($this->response && $redirect){ 13 header('Location:'.$redirect); 14 exit(); 15 } 16 17
補足情報(FW/ツールのバージョンなど)
サーバー:さくらインターネット
MySQL5.7
phpMyadmin4.9.5
PHP 5.3.29
※必要な情報がどれか不明なので必要そうな物を記載しています。