gpt4 book ai didi

php - codeigniter 中的事件记录会自动在 where 子句值周围添加引号

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:03:13 25 4
gpt4 key购买 nike

我试过阅读 stackoverflow 上的其他帖子,还检查了 ci 的事件记录文档,但我似乎找不到问题的答案

我的模型中有以下逻辑:

    $query = $this->db->get_where('categories', array('parent_id' => $category_id));

根据 last_query() 方法生成的 sql 是:

SELECT * FROM (categories) WHERE parent_id = '8'

我需要删除数字 8 周围的引号。我该怎么做?

我试过使用 select 语句并将 false 作为第二个参数传递。例如:

    $this->db->select('*', false);
$this->db->from('categories');
$this->db->where('parent_id=',$category_id);

但这并没有真正改变太多。有什么建议么?谢谢

最佳答案

默认情况下,CodeIgniter 会尝试预测比较中的数据类型,并相应地使用适当的 SQL 语法。如果您的查询使用单引号,则可能表明 $category_id 被视为字符串而不是整数。如果你尝试会发生什么:

$this->db->select('*');
$this->db->from('categories');
$this->db->where('parent_id', (int) $category_id);

或者,您可以手动构建自己的 WHERE 语句:

$this->db->where('parent_id = ' . (int) $category_id);

关于php - codeigniter 中的事件记录会自动在 where 子句值周围添加引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14548644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com