Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

ODBC et SQL Server 2008 :Vous ne pouvez pas utiliser d'instructions préparées ?

Je n'utilise jamais la méthode fetchObject mais qu'en est-il de ceci :

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

Je remarque également les guillemets simples autour de votre point d'interrogation ('?'), ils ne devraient pas être là.

Afin d'utiliser les trucs try/catch, vous devrez inclure ceci lorsque vous créez votre connexion PDO :

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

Et vous voudrez peut-être aussi ajouter ceci :

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