WernerK: PDO & MSSQL & Prepared Statements

Beitrag lesen

Hallo,

ich versuche mit PDO einen Eintrag in eine MSSQL DB zu machen. Das Ganze soll mit Prepared Statements gehen.

$stmt = $this->db->prepare('INSERT INTO testdatenbank.dbo.gbook ([name], [text], [timestamp]) VALUES (:name, :text, :time)');
  $stmt->bindParam('name', $_POST['name'], PDO::PARAM_STR, 50);
...
$stmt->execute(); 
                     

Wenn ich es so wie oben versuche (also mit 3. Parameter PDO::PARAM_STR, 50) Dann kommt folgende Fehlermeldung:

Warning: PDOStatement::execute(): SQLSTATE[42000]: Syntax error or access violation: 102 [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]Falsche Syntax in der Nähe von 'OUTPUT'

Es funktioniert aber nur mit:

 //$stmt->bindParam('name', $_POST['name']);

Weiss jemand den Grund? Erlaubt Microsoft diese erste Schreibweise nicht?

Gruss

Werner