ど素人から毛を生やす。<延>

Web

Yahoo!出荷ステータス変更APIなのに「Request Parameter Error : Pay」

Web > EC 2019年2月14日(最終更新:3日前)

※2019/02/19 内容に間違いがあったので修正して再投稿。

どもです。
Yahoo!出荷ステータス変更APIにデータを送ったのですが、

<Code>od90101</Code>
<Message>Request Parameter Error : Pay</Message>

というレスをいただいてしまいました。
が、「Pay」がパラメータエラーとか言われても、リクエストデータに「Pay」入って無いんだけどナー???

それでこれ、原因は送信先のAPIを間違えていたという凡ミス。
出荷ステータス変更API(orderShipStatusChange)に送るはずが、
入金ステータス変更API(orderPayStatusChange)に送っていた。... 続きを読む »

Yahoo!APIのエラーコードめも

Web > EC 2019年2月13日(最終更新:8日前)

Yahoo!のAPIはエラーコード検索できないのが辛いんだってば!!!!

od系(od90101とかod91801とか)

https://developer.yahoo.co.jp/webapi/shopping/orderChange.html
https://developer.yahoo.co.jp/webapi/shopping/orderStatusChange.html
このページのほぼ一番下に一覧があります。(APIの種類によって多少異なるので、これらのページが全てではありません。)

px-04102 AccessToken has been expired. This API session is

... 続きを読む »

MySQLから取り出した「日付データがあるとき」の条件分岐を、できるだけ最短の記述で行いたい。

Web > PHP 2018年12月28日(最終更新:1月前)

どもです。

PHPで日付データがあるとき、の条件分岐をしたい。

このとき、厳密な日付フォーマットチェックを行いたいのであれば、DateTimeクラスを用いるのが妥当です。
参考サイト:
[Qitta]【PHP】DateTimeクラスでcheckdate()より汎用性のある日付チェックを行う
[SOFTELメモ]【php】DateTimeクラスで日付の表示の補正をおこなう

しかし、今回はMySQLからデータを取り出して使いたい場合です。
厳密なフォーマットチェックは入力時に行うべきことであって、この場合はもっとシンプルにできるはず。

そして問題となるのはMySQLにて、DATETIMEカラムをNOT NULLにすると、
デフォルト値が「0000-00-00 00:00:00」になるということです。

さて、どうすれば最短かつ明瞭な条件分岐になるか。

strtotime()を利用

if(strtotime($date) ... 続きを読む »

[MySQL]複数行のUPDATEを1回のSQL実行で済ませたい。

Web > Other 2018年12月14日(最終更新:2月前)

どもです。

MySQLで複数の行を更新したい場合、多くの場合は

などの方法で、UPDATEを複数回実行することになると思います。

が、当たり前ですが、これだと都度MySQLにアクセスすることになるため、大量の更新を行いたい場合だとDBへの負担とか所要時間とかが大変なことになります。

こういったとき、できるだけDBの負担を軽くしたい。
できれば1回のSQL実行で事を収めたい。

この1回の実行で複数行を更新することを、bulk(バルク) updateというそうです。

bulk insert

このバルク(大量・一括の意)処理は、INSERTの場合はまさにそのもののやり方がサポートされています。

しかし、UPDATEの場合はクリティカルなサポートがありません。

参考サイト:... 続きを読む »

MySQLをPHPでSELECTしたとき、resource型で保持して使用するときにwhileするのと一度配列にぶち込んでforeachするのとで、どれくらい負荷と速度に差があるのか調べてみた。

Web > PHP 2018年12月7日(最終更新:2月前)

どもです。

つい昨日、こんなことを呟きました。

膨大な行のMySQLをPHPでSELECTしたとき、resource型で保持して使用するときにwhileするのと一度配列にぶち込んでforeachするのとで、どれくらい負荷と速度に差があるのか知りたい。
いや前者の方が良いのはわかるんだけど!可能なら後者でいきたいんだ!

ということで、調べます。
PHPバージョンは5.4.15、Linuxサーバーです。

材料:
1万行×11カラムのテスト用テーブル

結果
1. Max Memory Usage : 5.978 ... 続きを読む »

FTPS中のファイルを更新日時順で取得したかった話。

Web > PHP 2018年10月31日(最終更新:3月前)

どもです。

FTPS上にアップされたCSVをDBに落とすプログラムを作成していたのですが、このときにファイル名は問わないという縛りがあり、では何を基準に複数ファイルがあったときの処理順を定めるべきか。

普通に考えたらファイルの更新日時かアップロード日時ですな。
ファイル更新日時の昇順といたしましょう。

さて、どうすればそれが適うのか。

ローカルのファイルの日時を取得するなら…

filemtimeですな。

使い方はこちらのサイト様がとてもわかりやすい。

しかし、今回はFTPなので、絶対パスで指定するfilemtimeではない。さて。

ftp_nlistって引数lsコマンド使えるのか→できないな…、何故だ。

ftp_nlistって... 続きを読む »

inputに半角だけ入力させたい

Web > javascript 2018年10月10日(最終更新:2月前)

どもです。
フォーム回りは本当にブラウザ差異が活発極まりなく。

さて、まずはこの要望についてですが、
ブラウザ側での制御はいくらでも抜け道があるため、action側で全角⇒半角処理を行うのがBEST

という結論を前提に置いてから以下をご覧いただけると幸いです。

今回のテーマは、それでもブラウザ側で制御したい場合。
往々にしてそれはバックヤードなサイト的な、悪意を以てフォームを触る方が現れない閉鎖的なサイトであることでしょう。

そういったサイトの、作業の効率化やミスのリスクを減らすための入力制限を考察します。

HTML、CSSで制御する

IE、Edge、Firefox

一昔前、半角の入力制御といったらこれでした。ime-mode。
現在は公式に廃止される... 続きを読む »

PHP4サーバーにXML/ParserをインストールしたらFatal errorになった話

Web > PHP 2018年10月5日(最終更新:4月前)

どもです。

PHP4のサーバーでXMLの読み取りを行いたく、【Pear】Package Information: XML_Serializerを導入。

本番サーバーへリリースしたところ、「XML/Parser.phpがねーぞ!」とお断りされたので慌ててサーバーのライブラリを追加導入。したところ、今度は

Fatal error: Undefined class name 'self' in ... ... 続きを読む »

[MySQL]JOIN対象のセルが空の場合は指定の値でJOINしたい。

Web > Other 2018年9月25日(最終更新:4月前)

結論から言えば、IFやIFNULLはFROMでフツーに使えるゾ☆って話。

普通のJOIN。
βのid(往々にしてprimarykey)に0や空、NULLが登録されているわけでないなら、α.b_idに「値が無い」状態のときは取得できるnameがNULLになります。

IFNULL

IFNULL(expr1,expr2)
expr1 が NULL でない場合、IFNULL() は expr1 を返し、それ以外の場合は expr2 を返します。IFNULL() は、使用されているコンテキストに応じて、数値または文字列値を返します。

... 続きを読む »

WordPressのテーマ編集でバグってファイルの中身が消えたとき、応急処置になるかもしれないやり方。

Web > WordPress 2018年8月30日(最終更新:5月前)

どもです。
いつ頃からか、WordPressのテーマを編集しようとすると、
CSSファイル以外で以下のエラーが発生するようになりました。

致命的なエラーをチェックするためにサイトと通信できないため、PHP の変更は取り消されました。
SFTP を使うなど、他の手段で PHP ファイルの変更をアップロードする必要があります。

まぁFTP経由でやれば良いのですが、ちょっとFTPが手元に無い状態で編集したくなりまして。
調べたところ、こちらのサイトにて、プロフィールから「コード編集中のシンタックスハイライトを無効化」の✓を外すとできるようになるとありました。

やってみたところ、エラー文言は表示されたまま。
かつ、... 続きを読む »

1 2 3 4 5 6 21