php - CodeIgniter 从数据库中获取数据

标签 php mysql codeigniter codeigniter-2

嘿,我是 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/

相关文章:

mysql - 如何从单个连接表展平层次结构

mysql 与 order by 和 limit 的联合

php - CodeIgniter 第三方类未加载

php - 使用 PHP/Codeigniter 连接到远程数据库(EC2 实例)?

javascript - Angular $http POST 到目标 ="_blank"

php - 只显示用户选择范围内的结果

php不从另一个文件导入变量

codeigniter 事件记录获取最后 10 条记录并排序 ASC

php - 如何通过 PHP 从数据库中获取组中的总用户数

php - 将参数从 php 传递到 casperjs/phantomjs