嵌套的mysql查询无法在codeigniter中工作

时间:2014-03-27 08:57:49

标签: php mysql sql codeigniter

我的 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());

所以它不会从数据库中返回任何内容。

我怎么能容忍这个问题请有人帮忙吗?

3 个答案:

答案 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