kakinotane のすべての投稿

グーグルが掲げる10の事実


1 ユーザーに焦点を絞れば、他のものはみな後からついてくる。
2 一つのことをとことん極めてうまくやるのが一番。
3 遅いより速いほうがいい。
4 ウェブ上の民主主義は機能する。
5 情報を探したくなるのはパソコンの前にいるときだけではない。
6 悪事を働かなくてもお金は稼げる。
7 世の中にはまだまだ情報があふれている。
8 情報のニーズはすべての国境を越える。
9 スーツがなくても真剣に仕事はできる。
10 「すばらしい」では足りない。

何度も見返したくなるのでブログにも投稿しました。

「1つのことを極める」、「素晴らしいでは足りない」という部分が特に気になります。

 

#1062 – Duplicate entry for key ‘PRIMARY’


phpMyAdminでは表題のエラー、Firebugには「Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064」というエラーが発生しました。

よくあるケースとしてプライマリキーが設定してあるフィールドに重複した値が入ったレコードをInsertした場合このエラーが出るのですが、私の場合Updateなのにこれが出て悩みました。

原因はwhere以降が抜けてしまっていたからでした。

× update `tbl` set ***
○ update `tbl` set *** where id = 1

where以降はif文で入れていたんですが、PHP7になり関数を変えたらオブジェクト型ではなく配列型になってしまいif文に引っかからなくてwhere以降が空になってました。

MagpieRSSをPHP7で動かすと…


 Uncaught Error: Call to undefined function split() 

というエラーが発生しました。

PHP7ではsplit()が削除されて使えなくなってるからですね。場所はrss_parse.incファイルの208行目。

list($ns, $el) = split( ":", $element, 2); 

これを以下のようにしたら今まで通り使えるようになりました。

list($ns, $el) = preg_split( "/:/", $element, 2);