[英]CodeIgniter fetching data from database
嘿,我是Codeigniter的新手。 我在从数据库中获取数据时遇到问题,这是我的getOne函数
public function getOne($sku){
$ans = 0;
$query = $this->db->query('SELECT * FROM barcode_sku WHERE sku = "$sku"');
$res = $query->result();
$row = $res[0];
$ans = $row->quantity;
return $ans;
}
变量$ sku将具有bc_001或bc_002之类的值。...问题是,如果我在查询中硬编码该值(即bc_001),它将正确获取结果,但是当我在查询中使用变量$ sku时,它将不起作用。 请帮忙。
因为您使用单引号使查询语句变形,所以php不会在查询中添加变量,而是使用双引号来允许php解释$ sku变量。
$query = $this->db->query("SELECT * FROM barcode_sku WHERE sku = \"$sku\"");
同样不要忘记转义$ sky变量以避免SQL注入。
更好的解决方案是使用codeigniter活动记录。
http://www.codeigniter.com/userguide2/database/active_record.html
可能您可以像这样修改查询:
public function getOne($sku){
$ans = 0;
$sql= 'SELECT * FROM barcode_sku WHERE sku = ?';
$query = $this->db->query($sql, array($sku));
$res = $query->result();
$row = $res[0];
$ans = $row->quantity;
return $ans;
}
请尝试这个-
public function getOne($sku)
{
$this->db->select('*');
$this->db->from('barcode_sku');
$this->db->like('sku ', $sku,'after');
$query = $this->db->get();
return $query->result_array();
}
它将返回一个数组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.