php -a
と打てば起動する。Rubyでいうirb
的なやつ。
# php -a php > echo date('Y/n/j'); 2018/1/21
dpkg-query -L <package_name>
を利用する。
UbuntuなどのDebian系のディストリビューションで利用可能。
# dpkg-query -L mecab
/.
/usr
/usr/bin
/usr/bin/mecab
/usr/share
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/mecab.1.gz
/usr/share/doc
/usr/share/doc/mecab
/usr/share/doc/mecab/mecab.html
/usr/share/doc/mecab/changelog.Debian.gz
/usr/share/doc/mecab/copyright
/usr/share/doc/mecab/partial.html
/usr/share/doc/mecab/unk.html
/usr/share/doc/mecab/dic.html
/usr/share/doc/mecab/flow.png
/usr/share/doc/mecab/feature.png
/usr/share/doc/mecab/soft.html
/usr/share/doc/mecab/dic-detail.html
/usr/share/doc/mecab/libmecab.html
/usr/share/doc/mecab/learn.html
/usr/share/doc/mecab/result.png
/usr/share/doc/mecab/posid.html
/usr/share/doc/mecab/README.Debian
/usr/share/doc/mecab/README
/usr/share/doc/mecab/AUTHORS
/usr/share/doc/mecab/index.html
/usr/share/doc/mecab/bindings.html
/usr/share/doc/mecab/format.html
/usr/share/doc/mecab/feature.html
/usr/share/doc/mecab/mecab.css
MySQLで、データが存在する場合は更新を行い、存在しない場合にのみ登録を行いたい場合には、「INSERT ... ON DUPLICATE KEY UPDATE 構文」を利用する。
今回は、サンプルとして複数データを一度に登録する場合である所謂Bulk Insertのサンプルを掲載しておく。
流れとしては、
ON DUPLICATE KEY UPDATE
以下の更新処理が実行されるINSERT INTO fruit_count(fruit_name, total_count, updated_at) VALUES ('apple', total_count, NOW()), ('banana', total_count, NOW()) ON DUPLICATE KEY UPDATE fruit_name = VALUES(fruit_name), total_count = total_count + 1
上記のままだと、AUTO_INCREMENT カラムの値が激増する。そのため、下記のようにする必要があるようだ。当方未確認。
INSERT INTO fruit_count(fruit_name, total_count, updated_at) VALUES ('apple', total_count, NOW()), ('banana', total_count, NOW()) ON DUPLICATE KEY UPDATE fruit_name = VALUES(fruit_name), total_count = total_count + 1, id=LAST_INSERT_ID(id)
MySQL :: MySQL 5.6 リファレンスマニュアル :: 13.2.5.3 INSERT ... ON DUPLICATE KEY UPDATE 構文
SELECTBOXでページを切り替えたいときがある。よくあるのが、検索結果一覧において「30件、50件」のようにSELECTBOXで表示件数を切り替えられるようにするケース。
調べたけど、スマートな記載が簡単に探せなかったので、メモしておく。 optionのvalueに切り替え先のページのアドレスを記入し、optionが選択されたらそのアドレスに飛ぶようにしている。
<select id="fruit" name="fruit" onchange="location.href=this.options[this.selectedIndex].value;"> <option value="apple.html">りんご</option> <option value="banana.html">ばなな</option> <option value="cherry.html">さくらんぼ</option> </select>
既に存在するテーブルと同じスキーマのテーブルを作成したいときがある。 その場合、以下のコマンドを実行する。なお、当たり前であるが、既存のテーブルが存在するDB上から実行する。
SHOW CREATE TABLE テーブル名
mysql> SHOW CREATE TABLE sessions \G *************************** 1. row *************************** Table: sessions Create Table: CREATE TABLE `sessions` ( `id` int(11) NOT NULL AUTO_INCREMENT, `session_id` varchar(255) NOT NULL, `data` text, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, PRIMARY KEY (`id`), KEY `index_sessions_on_session_id` (`session_id`), KEY `index_sessions_on_updated_at` (`updated_at`) ) ENGINE=InnoDB AUTO_INCREMENT=30692 DEFAULT CHARSET=utf8 1 row in set (0.00 sec)
現在のGETパラメータに対し、パラメータを追加・修正したURLが欲しい場合がある。例えば、ページネーションにおいて、次のページのリンクを作成したい場合などだ。
http_build_query(array_merge($_GET, array( 〈追加したいパラメータ〉)));
http_build_query(array_merge($_GET, array('page'=> 9999)));