mysql - 在 codeigniter 的助手中选择具有多个条件的记录

标签 mysql codeigniter

助手

<?php

function get_gadget_footer() {
$ci=& get_instance();
$ci->load->database();
$ci->db->where('display', 'Footer');
$query = $ci->db->get('gadgets');

foreach($query->result() as $row)
{

  $type[] = array('name' => $row->name, 'type' => $row->type, 'defaultGadget' =>   $row->defaultGadget);
}
return $type;    

}

这是我的帮助文件,它从小工具表中选择记录并将结果存储为数组形式。在此帮助器中有一个选择查询的条件: $ci->db->where('display', 'Footer');

如果我想对选择查询应用两个条件,我需要做什么:

$ci->db->where('display', 'Footer');
$ci->db->where('defaultGadget','');

由于 select 查询不接受两个 where 条件,我认为如上所述执行操作是错误的。我该怎么做才能成功获得结果。

最佳答案

您可以添加如下第二个条件

$ci->db->where('display', 'Footer');
$ci->db->where('defaultGadget IS NOT NULL',null,FALSE);
$query = $ci->db->get('gadgets');

或者试试这个

$ci->db->where('display', 'Footer');
$ci->db->where("defaultGadget IS NOT NULL AND defaultGadget !=''",null,FALSE);
$query = $ci->db->get('gadgets');

将第二个参数传递为 null,然后使用 where 语句,将第三个参数传递为 FALSE 是为了防止添加反引号

关于mysql - 在 codeigniter 的助手中选择具有多个条件的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23157548/

相关文章:

mysql - 如何将存储过程的参数传递到所选列表?

php - 如何处理 PHP 和 PDO 中的用户文本输入?

java - 在代码(Java)中或使用触发器(MySQL)在数据库中以编程方式更新数据?

php - CodeIgniter View 页面为空

php - 代码点火器 MY_Controller : is it only possible to extend core once?

mysql - Select count(*) from A update in B 超慢

php - HTML Editable P 更新 MySQL DB

php - Codeigniter 在查询中转义句点

sql - 将 mySQL 数据限制为每列 1 个条目 5 列 2 个条目

codeigniter - 如何在 codeigniter 中实现服务器发送事件?