I’m beginning to see that the root
of his problem was that one of his parameters was an array and there is no
place holder for inserting an array (might be a nice enhancement, don’t
you think? “%as” or “%s[]” for an array of strings,
carried in the array of parameters as a nested array. The other
alternative was to recognize this and do the implode to turn the nested array
into a string external to db_placeholders.
Warren
Vail
From:
support-bounces@drupal.org [mailto:support-bounces@drupal.org] On Behalf Of
Sent: Monday, April 11, 2011 5:31
AM
To:
Subject: Re: [support] Place
holders in SQL query
This is exacty what db_placeholders() is for. It takes an
array and build the correct number of %s fields (or %d depending on
the type parameter) for inserting into your IN clause.
Injustice
anywhere is a threat to justice everywhere. -- Dr. Martin L. King, Jr.
From: Austin
Einter <austin.einter@gmail.com>
To:
Sent: Sun, April 10, 2011 8:55:16
PM
Subject: [support] Place holders
in SQL query
1.
When we do a SQL query, if we want to pass value to
query, we make use %d for integers or %s for strings.
Similarly do we have any place holders for arrays.
2.
I am facing a below typical problem, can somebody tell me what should I
do?
Below query works fine.
SELECT skillid FROM {resubmt_skills} WHERE
resubmt_skills.skillname IN ('PHP',
'HTML', 'SQL')
But in above query search string 'PHP', 'HTML', 'SQL' is hard coded.
I want to make the query generic.
Lets say in custom search form, user entered search string PHP,
Telecom, HTML,, so how can I write a generic query.
Thanks