揮発性のメモ2

http://d.hatena.ne.jp/iww/

PDOStatement::bindParam

bindParamは変数を参照としてバインドされる。
ということは

    $sql = 'INSERT INTO member SET name=:name, age=:age';
    $sth = $dbh->prepare($sql);
    foreach ($olist as $o) {
        $sth->bindParam(':name', $o['name']);
        $sth->bindParam(':age', $o['age']);
        $sth->execute();
    }

こういうのは無駄が多いってこと?

    $sql = 'INSERT INTO member SET name=:name, age=:age';
    $sth = $dbh->prepare($sql);
    foreach ($olist as $o) {
        $sth->bindValue(':name', $o['name']);
        $sth->bindValue(':age', $o['age']);
        $sth->execute();
    }

のようにしたら無駄が無い?


せっかくの機能だしループの外にbindParamを置きたいけど、あんまりうまくいかない気がする。
というか、bindParamを格好良く使うのは難しい気がしてきた。