PDOStatement::bindParam 与 PDOStatement::bindValue()不同, 变量被以引用方式绑定到点位符上而且仅仅当调用PDOStatement::execute()时才会去计算具体被绑定变量在PDOStatement::execute()被调用时的值.

    1. <?php
    2. $sex = 'male';
    3. $s = $dbh->prepare('SELECT name FROM students WHERE sex = :sex');
    4. $s->bindParam(':sex', $sex); // use bindParam to bind the variable
    5. $sex = 'female';
    6. $s->execute(); // 将执行 WHERE sex = 'female'
    <?php
    $sex = 'male';
    $s = $dbh->prepare('SELECT name FROM students WHERE sex = :sex');
    $s->bindValue(':sex', $sex); // use bindValue to bind the variable's value
    $sex = 'female';
    $s->execute(); // 将执行 WHERE sex = 'male'