我的 sql嵌套查询是这样的: -
$this->db->where_in('order.order_id', "SELECT `booking_id` FROM `booking` where `booking_id`=$id");
问题是, where_in 中的第二个参数被视为字符串而不是查询;因为它在引号下,通过函数打印最后执行的查询:
print_r($this->db->last_query());
所以它不会从数据库中返回任何内容。
我怎么能容忍这个问题请有人帮忙吗?
答案 0 :(得分:0)
你应该使用$this->db->where();
然后将整个 where子句 作为字符串传递。
答案 1 :(得分:0)
您可以使用:
$this->db->query("Your Query here");
或者您可以这样做:
$whereClaus = "Your where clause";
$this->db->where($whereClause);
答案 2 :(得分:0)
$this->db->where_in('order.order_id', "SELECT `booking_id` FROM `booking` where `booking_id`=$id",FALSE); // If you set it to FALSE, CodeIgniter will not try to protect your field or table names with backticks.
了解更多信息,请查看此网址 http://ellislab.com/codeigniter/user-guide/database/active_record.html