in reply to Style: Passing the same value for multiple DBI placeholders

Your IN clause placeholder will only work if there's one value. You either have to dynamically create the query so the number of IN placeholders matches the number of IN bind parameters; or you have to dynamically create the IN clause to expand to what you want.

There's a decent thread on this here that has examples.

  • Comment on Re: Style: Passing the same value for multiple DBI placeholders

Replies are listed 'Best First'.
Re^2: Style: Passing the same value for multiple DBI placeholders
by diotalevi (Canon) on Feb 06, 2003 at 19:25 UTC

    Your IN clause placeholder will only work if there's one value. You either have to dynamically create the query so the number of IN placeholders matches the number of IN bind parameters; or you have to dynamically create the IN clause to expand to what you want.
    Huh? The clause 0 <> position(lower(username) IN ?) should return true for as many tuples from usernames match. $message -> {'message'} is a single text value which may or may not contain a user's username. Or am I misunderstanding something here?

    Added After reading your link it looks like you misunderstood the question. The foo IN (bar, baz, qux) you're mentioning is different than the position(foo IN bar) I'm using. See String functions and operators for more detail.


    Seeking Green geeks in Minnesota

      Ooops ... I did misread and have been duly chastised with a negative vote. Thanks for pointing that out.

      As for the main point (which I also seem to have overlooked): I use the same value for multiple placeholders all the time. I see nothing wrong with that but I may be missing something else?