質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Q&A

2回答

723閲覧

更新した際にデータの一部が消えてしまう不具合

退会済みユーザー

退会済みユーザー

総合スコア0

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

0グッド

0クリップ

投稿2020/06/08 14:18

現在社内で使用しているシステムの回収作業を行っています。
元々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
※必要な情報がどれか不明なので必要そうな物を記載しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/06/08 23:16 編集

ほとんどのレンタルサーバーではPHP7への移行が推奨されてますが(私もさくらでアカウントもってて移行しました)PHP5.3のままでなければならないのでしょうか。 先の回答に出てるように、この内容で質問サイトでなんとかしようとするのは間違いであると思います。 データまで含めてコードも全てチェックしなければなりません。 自社のシステムであれば責任も大きいです。質問サイトで他者に丸投げで解決するものではありません。
guest

回答2

0

自分ド素人故に何をどうすればいいか分からず、調べてみても理解できず悩んでいます

それは正直どうにもならないので、出来る人に外注して調べる&修正してもらうしかないと思いますよ。

技術的には

  • まずは新サーバーでもMySQL5.5にして挙動を検証する
  • MySQL以外に環境が変わっていないか確認する
  • 更新処理をしているソースから逆順に追っていって挙動がおかしいところを特定して修正する

等で問題の箇所を特定していくのですが、特定した後にどう修正するかは原因次第ですし、teratailの様なQAサイトでPHPを書けない/読めない人に1から10まで解説するのは、直接作業するより困難です。

質問内容をそのままランサーズあたりにプロジェクト提案型で募集するか、適当なweb開発会社いくつかに見積もりを依頼すると相場感も分かると思います。

投稿2020/06/08 15:32

編集2020/06/08 15:37
tanat

総合スコア18709

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

発生している Warning はどちらも本件と直接の関係はありません。
*まぁ、問題ではあるんですけど。

元の環境でも発生していたはずなので、Warning を握りつぶしていたのでは?

見えてる範囲で設計がおかしい上、php のバージョンが古すぎるので作り直したほうが良いです。

投稿2020/06/08 22:08

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問