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);
echo "\nemailid = $emailid\n";

Anyone have any ideas?  Thanks.



PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to