本日WordPressで作業していたら以下のような事象が発生しました。
- WordPressで記事を更新しようとしても以下のように「更新が失敗しました。返答が正しいJSONレスポンスではありません。」と表示されて更新出来ない
- 新規で投稿や固定ページを追加しようとしても「Security check failed」と表示されて新規投稿用の画面が表示されない
先日まで投稿できてたのに何故!?
と思いエラーメッセージでググっても「クラシックエディタに変更してみる」とか「パーマリンク設定を基本にする」などは見つかりましたが今ひとつ根本的な解決手段じゃないなあと本日行った作業を思い出してみるとそういばプラグインいくつか更新したな。。と思い出し本日更新したプラグインを一つずつ無効化して確かめてたら。。
プラグイン「WP to Twitter」の更新が原因でした!!
これを無効化したら全て正常に動作したので私の場合は「プラグインの更新で不具合があった」というのが根本原因でした。。
やっぱりプラグイン更新時は動作確認必須だなあと再認識(^_^;)
WP to Twitterのページを見るとバージョン「3.6.0」に更新すると発生します。
サポートフォーラムを見てもまだこの件については何も記載されてないようなのでもう少し対応待つ必要ありそうです。
Wp to Twitterのプラグインページへ
今回は更新したプラグインで不具合があったのが原因でしたが、調べていると他の原因でも「更新が失敗しました。返答が正しいJSONレスポンスではありません。」のメッセージが表示されることがあるようです。まずは正常に更新出来ていた時期~エラーが発生した時期までに更新したことを思い出して一つずつ原因を潰すのが一番近道かなあと思います。あと定期的なバックアップも大事!
他に考えられる原因や対処方法
- レンタルサーバー側でなんらかのセキュリティなどの機能が追加されたのが影響した
- 「.htaccees」の編集で記載ミスがあった。もしくは自動で中身がクリアされてしまっていた。
- ブラウザのキャッシュをクリアしたら直った
- サーバーのWAFをOFFにしたら直った
trimは通常、文字列の前後の半角スペースを削除して取得する場合に使用する場合が多いと思いますが、引数へLEADING、TRAILING、BOTHを指定することで任意の文字や文字列を削除して取得することが出来ます。
サンプルテーブル
- 「goods」テーブル
TRIMに引数「LEADING」を指定した場合
TRIMに引数「LEADING」を指定することで文字列の先頭にある任意の文字や文字列を削除することが出来ます。
- クエリー(SQL)例
|
SELECT TRIM(LEADING '商品' From name) FROM goods ORDER BY id; |
- 実行結果
TRIMに引数「TRAILING」を指定した場合
TRIMに引数「TRAILING」を指定することで文字列の末尾にある任意の文字や文字列を削除することが出来ます。
- クエリー(SQL)例
|
SELECT TRIM(TRAILING 'A' From name) FROM goods ORDER BY id; |
- 実行結果
TRIMに引数「BOTH」を指定した場合
TRIMに引数「BOTH」を指定することで文字列の先頭と末尾にある任意の文字や文字列を削除することが出来ます。
- クエリー(SQL)例
|
SELECT TRIM(BOTH 'A' From name) FROM goods ORDER BY id; |
- 実行結果
Excelでxxヶ月の月末日付を取得するにはEOMONTH関数を使用することで可能となります。
xxヶ月後の月末日付を取得する方法
EOMONTH関数は「EOMONTH(開始日, 月)」の書式で指定します。
以下の例ではB1セル「本日の日付」の5ヶ月後の月末日をB2セルへ表示しています。
B2セルは日付型にして書式には「=EOMONTH(B1,5)」を入力しています。
B列の書式
SQLで大文字⇒小文字に変換する場合はLCASE関数 or LOWER関数、小文字⇒大文字へ変換するにはUCASE関数 or UPPER関数を使用します。DBMS毎で使用出来る関数が異なるので整理しておきます。
サンプルではPostgreSQLでの使用例となります。
関数\DBMS | MySQL | PostgreSQL | SQL Server | Oracle |
UCASE
※小文字 ⇒ 大文字 | ○ | ✕ | ✕ | ✕ |
UPPER
※小文字 ⇒ 大文字 | ✕ | ○ | ○ | ○ |
LCASE
※大文字 ⇒ 小文字 | ○ | ✕ | ✕ | ✕ |
LOWER
※大文字 ⇒ 小文字 | ✕ | ○ | ○ | ○ |
サンプルテーブル
- 「goods」テーブル
UPPER関数(小文字 ⇒ 大文字へ変換)の使用例
- クエリー(SQL)例
|
SELECT UPPER(name) FROM goods ORDER BY id; |
- 実行結果
LOWER関数(大文字 ⇒ 小文字へ変換)の使用例
- クエリー(SQL)例
|
SELECT LOWER(name) FROM goods ORDER BY id; |
- 実行結果
SQLで一部の文字列を取得するにはSUBSTR関数やLEFT関数、RIGHT関数を使用することで可能となります。DBMS毎に利用できる関数に違いがありOracleではLEFT関数、RIGHT関数は使用出来ません。
関数\DBMS | MySQL | PostgreSQL | SQL Server | Oracle |
SUBSTR or SUBSTRING | ○ | ○ | ○ | ○ |
LEFT | ○ | ○ | ○ | ✕ |
RIGHT | ○ | ○ | ○ | ✕ |
サンプルテーブル
- 「goods」テーブル
SUBSTR関数の使用例
LEFT関数の使用例
RIGHT関数の使用例
「駑馬十駕」 IT系情報を中心に調べた事をコツコツ綴っています。