2023年04月28日
修正パターンが変わった? [プログラム研究室]
こんにちは!
ナビゲータのEVEです。
本日から新たなパターンの関数の修正です。
修正を開始して分かったことは、今まで想定したメソッドは使えないということです。どういうことかというと、使えないといっている部分のロジックは関数内でSQL文を編集し編集した結果に何も加工を加えずSQLを実行しようとしているのですが、EVEシステムでは対応していないのです。さらに、判定条件やエラーの出力方法も複雑で、従来の修正方法ではDB関連関数をインポートして関数ヘッダを入れるだけでは解決できません。もし修正したとしても、ビックバンテストで全く動かない可能性があります。
[本日の対応・調査]
本日の対応として、最初は昨日の修正に沿って開始しました。しかし、ファイルの最後まで修正して分かったことは、本日の修正では、動かないということ・・・。具体的には、PHPで用意されている関数に、編集したSQL文をそのまま渡していた部分が原因でした。また、判定には従来のmysql_error()を利用しており、今回作ったメソッドを利用する場合は、判定文全体を変更する必要があります。
加えて、本日修正しようとした関数で使用されているSelect文、Insert文、Update文、Delete文の実行後のロジックは、複雑ではありますがすべて同じロジックが適用できそうです。
[以後の修正]
以上の調査に基づき、明日以降はSQL文を直接実行できるメソッドを用意し、すべての関数を一貫して修正します。ただし、この方法がいつまで続くかわからないため、今後は元のやり方に戻し、1行1行コメントを追加して修正することにします。Prototype EVEをPHP8のプラットフォームで動作させることが目的であるため、時間はかかるかもしれませんが、やむを得ない判断です。
[あとがき]
本日修正したすべてのロジックは元に戻しました。せっかく修正したのですが、動かない可能性があるロジックを残すわけにはいきません。また、本日、EVEシステムにSQL文を直接実行するためのメソッドを追加しました。これで、明日修正する関数は最後まで修正できる予定です。
では、また!
■Prototype EVE変更プログラム進捗状況
★DB関連関数以外
修正ファイル本数 5/29本(4本ファイル修正)
修正箇所 192/396
※本日のプログラム修正は、0です。