Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

ODBC und SQL Server 2008:Vorbereitete Anweisungen können nicht verwendet werden?

Ich verwende nie die fetchObject-Methode, aber wie wäre es damit:

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

Ich bemerke auch die einfachen Anführungszeichen um Ihr Fragezeichen ('?'), sie sollten nicht dort sein.

Um das Try/Catch-Zeug zu verwenden, müssen Sie Folgendes einschließen, wenn Sie Ihre PDO-Verbindung erstellen:

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

Und vielleicht möchten Sie dies auch hinzufügen:

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