嘿,我是 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 注入(inject)。
更好的解决方案是使用 codeigniter 事件记录。
http://www.codeigniter.com/userguide2/database/active_record.html
关于php - CodeIgniter 从数据库中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32255134/