我有下面的php代码示例,用于从带有“in”的数据库中选择数据condition:-
产品型号.php
public function product_attribute_filter($data) {
$sql = "select p.name,p.image from product p where p.condition in (?)";
$result = $this->db->query($sql, array($data['condition']));
$records = array();
foreach( $result->result_array() as $r ) {
}
return $records;
}
产品.php
public function product_attribute_filter() {
$this->load->helper('my_check');
$data = checkPostKey(array('condition'));
$result = $this->Product_category_model->product_attribute_filter($data);
if (count($result) == 0) {
echo json_encode($result,JSON_UNESCAPED_SLASHES);
} else {
echo json_encode($result,JSON_UNESCAPED_SLASHES);
}
}
我怎样才能把它贴成 select p.name,p.image from product p where p.condition in ('New','Used')
??
还有,我怎样才能叫 Postman 来?目前这不起作用。请帮忙。谢谢
]1
编辑
我根据scuzzy示例代码及其工作更改了以下代码。
$array = array("New","Used");
$placeholder = '"' . implode('", "', array_values($array)) . '"';
$sql = "select p.name,p.image from product p where p.condition in (" . $placeholder . ")";
1条答案
按热度按时间sqxo8psd1#
条件值应该是数组或逗号分隔的值,例如
condition=new,used
或者condition[]=new&condition[]=used
从那里你可以分解逗号或者使用数组来绑定你的值你可以利用
$array = explode(',',$_POST['condition'])
如果你选择前者。从那里你将需要建立你的
IN (?,?,?)
对于每个值,perhapps如下所示:https://3v4l.org/q3so9
这是计算中的项目数
$array
加上正确的?
占位符,当然您应该说明没有提供值。然后需要将正确的数据绑定形成sql请求。