PDO:多次使用相同的绑定变量

Kao*_*Kao 7 php mysql pdo

我遇到PDO Prepared语句的问题,如果你需要多次使用相同的绑定变量,查询将不会验证.

例:

$params = array (
    ':status' => $status,
    ':userid' => $_SESSION['userid']
);

$stmt = $pdo->prepare ('
    INSERT INTO 
        tableName
        ( userId, status )
        VALUES
        ( :userid, ":status" )
        ON DUPLICATE KEY UPDATE
            status = ":status"
');

if ( ! $stmt->execute ( $params ))
{
    print_r( $stmt->errorInfo ());
}
Run Code Online (Sandbox Code Playgroud)

编辑:的价值$params是:
Array ( [:status] => PAID [:userid] => 111 )

编辑2:
我注意到,而不是原始值,而不是userid,插入0,而不是状态插入空字符串.

Kao*_*Kao 8

问题是围绕:状态的引用.删除了引号,一切都很好.