Codeigniter - 使用 json 将单个查询结果传递给控制器 - 如果存在
Posted
技术标签:
【中文标题】Codeigniter - 使用 json 将单个查询结果传递给控制器 - 如果存在【英文标题】:Codeigniter - pass single query result to controller with json - if exists 【发布时间】:2013-07-01 09:04:18 【问题描述】:想要使用 json 将单个 codeigniter 查询结果传递给我的控制器。
我的模型函数是:
function get_linked_loads_qty($q)
$sql = $this->db->query("
IF EXISTS(
select qtylinkedorders
from Linked_Order_Summary
join Linked_Order_lines
on Linked_Order_Summary.linkedorderid= Linked_Order_lines.linked_order_id
where load_number='$q'
)
begin
select qtylinkedorders
from Linked_Order_Summary
join Linked_Order_lines
on Linked_Order_Summary.linkedorderid= Linked_Order_lines.linked_order_id
where load_number='$q'
END
ELSE BEGIN
select 1 as qtylinkedorders
from customer_Order_lines
where CustomerOrderID='$q'
group by CustomerOrderID
END
");
$query = $this->db->get();
if($query->num_rows > 0)
foreach ($query->result_array() as $row)
$row_set[] = htmlentities(stripslashes($row[qtylinkedorders])); //build an array
return $row_set;
我的控制器是:
function get_linked_loads_qty()
$this->load->model('Sales_model');
if (isset($_POST['data']))
$q = strtolower($_POST['data']);
$data = $this->Sales_model->get_linked_loads_qty($q);
$this->output->set_content_type('application/json')->set_output(json_encode($data));
该 sql 在 mssql 中 100% 工作。代码点火器错误是:
<p>Error Number: 42000</p><p>[Microsoft][SQL Server Native Client 11.0][SQL Server]Must specify table to select from.</p><p>SELECT *</p>
如前所述,查询在 mssql 中完美执行。
欢迎任何帮助。谢谢。
【问题讨论】:
【参考方案1】:我相信 $this->db->get()
是不需要的,这是导致错误的原因。 $this->db->query("blah...")
将运行查询并返回结果。见CodeIgniter DB Query Docs
【讨论】:
以上是关于Codeigniter - 使用 json 将单个查询结果传递给控制器 - 如果存在的主要内容,如果未能解决你的问题,请参考以下文章
Codeigniter - 如何将 JSON 作为参数传递给视图 [重复]
php/mysql 试图在 codeigniter 中输出单个结果?
AngularJS |如何将 Json 的数据发送到 Codeigniter 中的数据库