sql >> Base de Datos >  >> RDS >> Sqlserver

ODBC y SQL Server 2008:¿No se pueden usar declaraciones preparadas?

Nunca uso el método fetchObject, pero qué tal esto:

$stmt = $pdo->prepare("SELECT * FROM Users WHERE username=?");
$stmt->bindValue(1, $username);
try{
    $stmt->execute();
    while ($row = $stmt->fetch()){
       // Do whatever.
    }
}catch(PDOException $e){
    echo($e->getMessage());
}

También observo las comillas simples alrededor de su signo de interrogación ('?'), no deberían estar ahí.

Para usar las cosas de prueba/captura, deberá incluir esto cuando cree su conexión PDO:

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

Y es posible que desee agregar esto también:

$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, FALSE); // Try to use the driver's native prepared statements.