Php 在代码点火器中向sql查询传递多个参数而不使用活动记录

Php 在代码点火器中向sql查询传递多个参数而不使用活动记录,php,sql,codeigniter,Php,Sql,Codeigniter,我已经对此进行了研究,但没有得到正确的答案,我正在尝试在CodeIgniter中向sql查询传递多个参数,而不使用活动记录,这对我不起作用,请参见下面我所做的 在我的模型中,我有: function get_values($id, $age) { $sql='SELECT * FROM tblRegister where id=? AND unit=?'; $query=$this->db->query($sql, array('$id','$age')); return $quer

我已经对此进行了研究,但没有得到正确的答案,我正在尝试在CodeIgniter中向sql查询传递多个参数,而不使用活动记录,这对我不起作用,请参见下面我所做的

在我的模型中,我有:

function get_values($id, $age)
{
$sql='SELECT * FROM tblRegister where id=? AND unit=?';
$query=$this->db->query($sql, array('$id','$age'));
return $query->result_array();

}
在控制器中,我有:

function get_values()
{
$result=$this->register_model->get_values(32, 23);

}

这对我来说不起作用,我认为将参数传递给查询是一个错误,如何格式化语法使其正常工作?关于不带引号的Try变量:数组($id,$age)

//do it as:
function get_values($id, $age)
{     
   $this->db->where("id",$id);
   $this->db->where("unit",$age);
   $query=$this->db->get("tblRegister");
   return $query->result_array();

}
试试这个

function get_values($id, $age)
{
    $this->db->where('id',$id);

   $this->db->where('age',$age);

   $query=$this->db->get('tblRegister');

   return $query->result_array();
}

变量周围不需要单引号:
$query=$this->db->query($sql,array($id,$age))当我只传递一个参数时,如何使用引号?比如说:如果我只需要传递id,我将是$this->db->query($sql,array(“$id”);首先,在这一点上,你应该真正定义“它工作”和“它不工作”对你意味着什么,请提供一些细节。第二,如果使用单引号,则实际上传递的是由两个字符串组成的数组
0=>'$id',1=>'$age'
,并且该查询可能需要一些数值,不是吗?您说过,如果使用引号,另一个查询可以工作,那么该查询可能接受字符串参数。第三,你是否尝试过删除引号是否有效?很抱歉,我的术语是指运行,是的,它运行时没有引号,对数组进行索引的建议仍然没有解决。仍然没有必要对数组进行索引,这只是为了向你展示在数组中实际传递的内容,这是错误的。您所需要做的就是删除我在第一条注释中所写的那些单引号,它应该可以很好地执行:
$query=$this->db->query($sql,array($id,$age))这一个工作得很好,但我正在尝试在不使用活动记录的情况下实现这一点,我的目标是能够将参数传递给查询,就像你在这里没有表现出尊重一样,真的!15分钟前,我给你写了一篇描述性的评论,你只是决定忽略它,现在你又问同样的问题了?听着,我已经向您解释了代码不起作用的原因,您是否尝试删除这些单引号?如果你连他给你的建议都不尝试,你怎么能帮助你呢?删除那些单引号,然后给我们一些反馈!
// try this in your model
function get_values($id, $age)
{    
    $array = array('id' => $id, 'unit' => $age);

    $this->db->select('*');
    $this->db->from('tblRegister');
    $this->db->where($array);
    $query=$this->db->get();

    return $query->result_array();
}
function get_values($id, $age)
{
    $this->db->where('id',$id);

   $this->db->where('age',$age);

   $query=$this->db->get('tblRegister');

   return $query->result_array();
}