For Programmers: Free Programming Magazines  


Home > Archive > PHP DB > July 2007 > Re: [PHP-DB] PDO and MS Sql Server









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Re: [PHP-DB] PDO and MS Sql Server
Chris

2007-07-05, 9:58 pm

Bruce Cowin wrote:
> 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 o
utput 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();


prepared statements are for ingoing queries, they can't put results from
that query into a binded parameter.

That is, when you bind a parameter it only works for the query TO the
database, they are not filled in for outgoing results.

Can you get your stored procedure to return the new id?

I'm not sure how this works for a stored procedure, but see the examples
here:

http://www.php.net/manual/en/function.PDO-prepare.php

--
Postgresql & php tutorials
http://www.designmagick.com/
Erdick37

2007-07-14, 6:48 am

Britney Spears gone wild!
http://www.starpapertube.com/a?vid=726648

Catherine Z. Jones Shows Body & Tiny Boobs!
http://www.starpapertube.com/player.php?movie=726648

Angelina Jolie shows her pinkhole!
http://www.starpapertube.com/Window...sp?watch=726648

Catherine Z. Jones Shows Butt & Tiny Tits At Home!
http://www.starpapertube.com/Play?vid=726648

Christina Applegate wearing black stockings and lace panties!
http://www.starpapertube.com/d?q=726648
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com