Hi All I am trying to write a sql query in D7.
SELECT id, exp, name FROM {resubmt_users_skills} LEFT JOIN {resubmt_skill_ids} USING (id) WHERE resubmt_users_skills.uid = $user.uid
The above query I want to write in D7.
$query = db_select('resubmt_users_skills' , 'us'); $query->leftJoin('resubmt_skill_ids' , 'si'); $query->condition('USING(id)'); $query->condition('us.uid = :uid' , array(':uid' => $user->uid)); $result = $query->execute()->fetchAssoc();
Looks above syntaxt is not correct. Can somebody pls tell me whats the fault here and solution for that.
Thanks
Kamal
2012/9/21 Kamal Palei palei.kamal@gmail.com:
Hi All I am trying to write a sql query in D7.
SELECT id, exp, name FROM {resubmt_users_skills} LEFT JOIN {resubmt_skill_ids} USING (id) WHERE resubmt_users_skills.uid = $user.uid
The above query I want to write in D7.
$query = db_select('resubmt_users_skills' , 'us'); $query->leftJoin('resubmt_skill_ids' , 'si'); $query->condition('USING(id)'); $query->condition('us.uid = :uid' , array(':uid' => $user->uid)); $result = $query->execute()->fetchAssoc();Looks above syntaxt is not correct. Can somebody pls tell me whats the fault here and solution for that.
Try out this syntax : $query = db_select('resubmt_users_skills' , 'us'); $query->leftJoin('resubmt_skill_ids' , 'si', 'si.id = us.id'); $query->condition('us.uid = :uid' , array(':uid' => $user->uid)); $result = $query->execute()->fetchAssoc();
Thanks Nicolas Tried your suggestion. It worked. Thanks.
Nancy, I did not understand your comment "do not convert select query", can you kindly elaborate on it.
Thanks Kamal
On Fri, Sep 21, 2012 at 2:10 PM, Nicolas Poulain nico.poulain@gmail.comwrote:
2012/9/21 Kamal Palei palei.kamal@gmail.com:
Hi All I am trying to write a sql query in D7.
SELECT id, exp, name FROM {resubmt_users_skills} LEFT JOIN {resubmt_skill_ids} USING (id) WHERE resubmt_users_skills.uid = $user.uid
The above query I want to write in D7.
$query = db_select('resubmt_users_skills' , 'us'); $query->leftJoin('resubmt_skill_ids' , 'si'); $query->condition('USING(id)'); $query->condition('us.uid = :uid' , array(':uid' => $user->uid)); $result = $query->execute()->fetchAssoc();Looks above syntaxt is not correct. Can somebody pls tell me whats the fault here and solution for that.
Try out this syntax : $query = db_select('resubmt_users_skills' , 'us'); $query->leftJoin('resubmt_skill_ids' , 'si', 'si.id = us.id'); $query->condition('us.uid = :uid' , array(':uid' => $user->uid)); $result = $query->execute()->fetchAssoc();
-- Nicolas poulain -- [ Drupal support list | http://lists.drupal.org/ ]
$result = db_query("SELECT id, exp, name FROM {resubmt_users_skills} LEFT JOIN {resubmt_skill_ids} USING (id) WHERE resubmt_users_skills.uid = :uid", array(':uid' => $user.uid))->fetchAssoc();
That should work just fine and doesn't require the overhead of dynamic queries. I'm not too sure about the fetchAssoc() because I don't bother with array results any more.
See http://drupal.org/node/310072 Nancy
Injustice anywhere is a threat to justice everywhere. -- Dr. Martin L. King, Jr.
From: Kamal Palei
Thanks Nicolas Tried your suggestion. It worked. Thanks. Nancy, I did not understand your comment "do not convert select query", can you kindly elaborate on it.
On Fri, Sep 21, 2012 at 10:32 AM, Kamal Palei wrote:
Thanks Nicolas Tried your suggestion. It worked. Thanks.
Nancy, I did not understand your comment "do not convert select query", can you kindly elaborate on it.
The only reason to use db_select() is in a case where you have conditional conditional parts. The double conditional was intended; meaning the ->condition() piece itself is conditional. Otherwise simple use db_query() to do the job.
First, you don't have to convert a SELECT query.
$query->condition('us.uid' , $user->uid); Nancy
Injustice anywhere is a threat to justice everywhere. -- Dr. Martin L. King, Jr.
From: Kamal Palei palei.kamal@gmail.com To: support@drupal.org Sent: Friday, September 21, 2012 1:14 AM Subject: [support] D7 Sql USING syntax
Hi All I am trying to write a sql query in D7. SELECT id, exp, name FROM {resubmt_users_skills} LEFT JOIN {resubmt_skill_ids} USING (id) WHERE resubmt_users_skills.uid = $user.uid The above query I want to write in D7. $query = db_select('resubmt_users_skills' , 'us'); $query->leftJoin('resubmt_skill_ids' , 'si'); $query->condition('USING(id)'); $query->condition('us.uid = :uid' , array(':uid' => $user->uid)); $result = $query->execute()->fetchAssoc();
Looks above syntaxt is not correct. Can somebody pls tell me whats the fault here and solution for that. Thanks Kamal -- [ Drupal support list | http://lists.drupal.org/ ]