On Tue, May 13, 2008 at 01:20:14PM +0100, Martin Evans wrote:
> Tim,
>
> In the thread "problem with DBD::ODBC and placeholders [SEC=UNCLASSIFIED]" 
> on dbi-users recently you said:
>
> > Drivers that support named placeholders like ":N" where N is an
> > integer, could support both forms of binding: bind_param(":1",$v) and
> > execute($v)
> > It's not dis-allowed. Driver docs should clarify this issue.
>
> Is it really your intention that to bind named parameter "fred" as in the 
> SQL "insert into xxx values(:fred)" you call bind_param(":fred",$v)?

That's the way DBD::Oracle has always done it.

> As it happens DBD::ODBC has a bug in its support of named parameters (other 
> than :1, :2 etc) which means it did not work at all but it ALSO expects the 
> name parameter ":fred" above to be passed to bind_param as "fred" i.e. the 
> leading ':' is treated as an introducer and not part of the parameter name. 
> I believe, but am prepared to be put right, other non-perl database drivers 
> also drop the ':' when binding.

Any other driver authors/users care to comment?

> As it didn't work before I can change it to be either - just let me know.

I guess the colon could be made optional without any harm.

Tim.

Reply via email to