Thanks Warren, Pierre I got it working with place hoolders. Best Regards Austin
On Mon, Apr 11, 2011 at 10:35 AM, Warren Vail warren@vailtech.net wrote:
Not sure what you mean by generic, and never used the db_placeholders function, but this should work;
$skillnames = array("PHP", "HTML","SQL"); $tblname = "resubmt_skills"; $query = sprintf("SELECT skillid FROM %s WHERE skillname in ('%s')", $tblname, "'".implode("', '",$skillnames)."'"); //execute and fetch query results here
not real elegant, but nothing is as elegant as the solution that works and maintainers can understand.
Warren Vail
On 4/10/2011 6:33 PM, Greg Knaddison wrote:
On Sun, Apr 10, 2011 at 6:55 PM, Austin Einteraustin.einter@gmail.com
wrote:
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.
There's a handy function you need called db_placeholders -
http://api.drupal.org/api/drupal/includes--database.inc/function/db_placehol...
There are some examples on that page, but if you want more help be sure to provide more of your example code.
Cheers, Greg
-- [ Drupal support list | http://lists.drupal.org/ ]