2014-03-27 79 views
0

SQL嵌套查询是这样的: -嵌套MySQL查询在笨不工作

$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

检查此http://stackoverflow.com/questions/6047149/subquery-in-codeigniter-active-record – Sadikhasan

+0

已经通过了,但没有得到;不能够像我在查询中那样传递变量 –

+0

我不确定为什么当子查询只能返回一列,而不是一系列值时,使用“where_in”。此外,您的子查询是完全多余的,您正在选择'booking_id' WHERE'booking_id'由您在$ id变量中提供,因此只会返回$ id的值。你试图用你的查询达到什么目的? – AJReading

回答

0

你应该使用$this->db->where();

然后在整个where子句通过为字符串

0

您可以使用:

$this->db->query("Your Query here");

,或者你可以做这样的事情:

$whereClaus = "Your where clause"; 

$this->db->where($whereClause); 
+0

但也有第二个参数来引号,我需要消除 –