我对CodeIgniter很新,我在将MySQL查询转换为CodeIgniter时遇到了一些问题。我想在另一个关系表上用条件更新一个表中的记录。
以下是我的MySQL查询
UPDATE `user` SET `securitytoken` = '71b9b5bc1094ee6eaeae8253e787d654'
WHERE `profileid` IN (SELECT pid FROM `profile` WHERE `email` = 'username@mail.com')
这在phpMyAdmin中工作正常,但我希望将其转换为codeigniter更新查询。任何人都可以帮我转换。
我在本地WAMP服务器中使用CI v3.0.3。
先谢谢
答案 0 :(得分:0)
我要做的是使用
编写查询代码$query = $this->db->query('YOUR QUERY HERE');
并使用转义功能来处理您的一个或两个输入值。
注意查询绑定,在您的情况下可能很有用。
请参阅:http://www.codeigniter.com/user_guide/database/queries.html
我不会尝试使用Active Records,你的SQL有点过于复杂。
答案 1 :(得分:0)
试试这个
$query = $this->db->query("UPDATE `user` SET `securitytoken` = '71b9b5bc1094ee6eaeae8253e787d654'
WHERE `profileid` IN (SELECT pid FROM `profile` WHERE `email` = 'username@mail.com')");
$result = $query->result_array();
return $result;
答案 2 :(得分:0)
$query=$this->db->query("SELECT pid FROM `profile` WHERE `email` = 'username@mail.com'")->row_array();
$this->db->set(`securitytoken`,'71b9b5bc1094ee6eaeae8253e787d654');
$this->db->where_in(`profileid`,$query['pid']);
$this->db->update('user');
//echo $this->db->last_query();
//exit;
试试这个......!