【发布时间】:2019-04-11 10:43:41
【问题描述】:
我正在使用 Codeigniter 执行一些任务,但在查询搜索中遇到问题。我在mysql中有以下数据:
order_billing
--------------
19001-00001-32222
13501-00021-31122
13344-02351-16072
18701-00001-30922
11123-12301-12122
order_billing 有 3 部分格式:number_1-number_2-number_3
我为这样的搜索表单
<input type="text" name="order_billing_1">-
<input type="text" name="order_billing_2">-
<input type="text" name="order_billing_3">
for with 条件时如何进行 SQL 查询
- 输入“order_billing_1”搜索“number_1”
- 输入“order_billing_2”搜索“number_2”
- 输入“order_billing_3”搜索“number_3”
我做了一些这样的代码
$post = $this->input->post();
$search['number_1'] = $post['order_billing_1'];
$search['number_2'] = "-".$post['order_billing_2'];
$search['number_3'] = "-".$post['order_billing_3'];
这样的查询
$this->db->like('order_billing', '$search['number_1']', 'after');
$this->db->or_like('order_billing', '$search['number_2']', 'both');
$this->db->or_like('order_billing', '$search['number_3']', 'before');
但它仍然不正确。我仍然对如何在手动 SQL 查询中进行搜索感到困惑。
$search['number_1'] = $post['order_billing_1'];
$search['number_2'] = "-".$post['order_billing_2'];
$search['number_3'] = "-".$post['order_billing_3'];
查询
Select * from TABLE WHERE order_billing like ????
有人知道怎么解决吗?
【问题讨论】:
-
'$search['number_1']'那里有一些多余的引号。 -
当用户输入三个值之一或部分值时,预期的输出是什么?
标签: php mysql sql codeigniter