PDO and MS Sql Server

From: Date: Thu, 05 Jul 2007 23:27:32 +0000
Subject: PDO and MS Sql Server
Groups: php.db 
Request: Send a blank email to php-db+get-43752@lists.php.net to get a copy of this message
I'm using PHP 5.1. The documentation for PDO doesn't list MS Sql server as one of the drivers that support PDO but there is a php_pdo_mssql.dll which seems to work so I'm using that. I need to get the id of a new record just inserted. I can't use lastInsertId() as I get a message saying it's not supported. So I've created a stored proc that returns the id just created (code below). The insert works fine but the $emailid variable is not populated. I can run the stored proc in query analyzer and it outputs the id correctly so I know the stored proc works. All the examples I see return strings, not sure if that has anything to do with it. And as for the parameter length for the output parameter, I've tried nothing as well as 99999. $stmt = $this->dbh->prepare("exec usp_EmailInsert :projectid, :mailfrom, :mailto, :mailcc, :subject, :body, :mimefilename, :emailid"); $stmt->bindParam(':projectid', $projectid, PDO::PARAM_INT); $stmt->bindParam(':mailfrom', $from, PDO::PARAM_STR, 100); $stmt->bindParam(':mailto', $to, PDO::PARAM_STR, 500); $stmt->bindParam(':mailcc', $cc, PDO::PARAM_STR, 500); $stmt->bindParam(':subject', $subject, PDO::PARAM_STR, 1000); $stmt->bindParam(':body', $body, PDO::PARAM_LOB); $stmt->bindParam(':mimefilename', $mimefilename, PDO::PARAM_STR, 500); $stmt->bindParam(':emailid', $emailid, PDO::PARAM_INT, 99999); $stmt->execute(); echo "\nemailid = $emailid\n"; Anyone have any ideas? Thanks. Regards, Bruce

« previous php.db (#43752) next »