free as in air

2007|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|09|11|12|
2012|03|04|05|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|03|04|06|09|
トップ «前の日記(2013-03-10) 最新 次の日記(2013-03-26)» /編集

2013-03-14 [長年日記]

§ [php] PDOStatement::bindParam

基本的にはPreparedStatementに値を設定するメソッドです。bindValueとは参照渡しになるのが違う。

使いどころとしては以下なんだと思う。(以下のコードはイメージです)

$caps = array("JAPAN" => "Tokyo", "USA" => "Washington DC", "SOUTH KOREA" => "Seoul");
$stmt = $pdo->prepare("update countries set capital = :cap where name = :name");
$key, $val = null; //初期化は欲しいのか?
$stmt->bindParam(":name", &$key); //先にbind
$stmt->bindParam(":cap", &$val);
foreach($caps as &$key => &$val) {
        $stmt->execute(); //ここではbindしなくていい
}
unset($key);
unset($val);

foreach内でbindValueしなくてもいいから見た目スッキリ、とは思わないけど多分こういう意味なんだよな…。

PreparedStatementが大量にある場合はスッキリするかもしれないけど、その変数が参照かどうかは覚えておかないといけない(参照使うときは常にそうだけど)。

§ [program] VIMのセッション

 便利なんだけど、何かのタイミングでsyntaxがoffになったりするのはなんとかならんのだろうか。しかしCygwin版とWin32ネイティブ版を同時に使うからかもしれない。

§ [program] Gaucheでクリップボードの文字列をHTMLエスケープする的な(Cygwinized)

-[1792]% rlwrap -c -q '"' -b "'"'(){}[].,#@;|`"' -m gosh "$@"
gosh> (use text.html-lite)
#<undef>
gosh> (define (esclip iport) (let ((buf (read-line iport))) (cond ((not (eof-object? buf))(display (html-escape-string buf))(newline)(esclip iport)))))
esclip
gosh> (call-with-input-file "/dev/clipboard" esclip)
&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;jquery.powertip.css&quot; /&gt;
#<undef>
gosh> 
#

これでtDiaryにコピペ楽ちんです。入力終わるまで読むのは頻出。