gpt4 book ai didi

php - 删除 SQL 查询中的空列

转载 作者:行者123 更新时间:2023-11-29 05:29:11 24 4
gpt4 key购买 nike

我正在使用表中的 select * 查询。

$query = $this->db->get($table_name);

我想要的是丢弃所有列值为空的记录,例如

Array 
{
Topic_1 ->
Topic_2 -> Cats
}

它会完全丢弃 Topic_1 键值对。我也在使用 Codeigniter 事件记录,所以我试着做

$query = $this->db->get_where($value, array(test_id != 'NULL'));

但是我不能指定每一列,我只想让 test_id 成为表中的所有列?有没有人我可以做到这一点,或者我可以在返回查询后丢弃不匹配的键值对的地方运行一个循环?

最佳答案

首先,你做错了NULL。你应该这样走:

$query = $this->db->where('test_id !=', NULL)->get($value)->result_array();

当字段为 NULL 时该查询将起作用,但在您的情况下它不是 NULL,它是空的。为了使该字段为 NULL,您必须在创建表时将其指定为默认值。查询您的案例将是:

$query = $this->db->where('test_id !=', '')->get($value)->result_array();

对于所有字段,我想您将需要使用 foreach 循环:

$data = array();
$field = array('field1', 'field2', ...);
foreach($field as $f) :
$query = $this->db->where($f, '')->get('table')->result_array();
$data = $data + $query;
endforeach;

这样在 $data 中您将获得所有为空的字段。

关于php - 删除 SQL 查询中的空列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16529165/

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