| Bruce Cowin 2007-07-05, 9:58 pm |
| 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 lastInsert=
Id() 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 =3D $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); =
=09
$stmt->bindParam(':emailid', $emailid, PDO::PARAM_INT, 99999);
$stmt->execute();
=09
echo "\nemailid =3D $emailid\n";
Anyone have any ideas? Thanks.
Regards,
Bruce
|