PDO :Многократное использование одной и той же переменной связывания

У меня возникла проблема с подготовленными операторами PDO, где, если вам нужно использовать одну и ту же переменную связывания несколько раз, запрос не будет проверен.

Пример:

$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 ());
}

РЕДАКТИРОВАТЬ:Значения $paramsравны:
Array ( [:status] => PAID [:userid] => 111 )

РЕДАКТИРОВАТЬ 2:
Я заметил, что вместо исходных значений вместо userid вставляется 0 , а вместо статуса вставляется пустая строка.

7
задан Kao 20 August 2012 в 11:20
поделиться