Codeigniter选择函数 - 未定义变量

时间:2014-03-12 10:26:14

标签: php codeigniter select

我正在尝试创建一个邮件列表,该列表根据数据库中的某些条件发送给多个用户。我已成功创建了一个向我的数据库中的每个人发送电子邮件的功能,但我这次尝试更具体,并将其通过电子邮件发送给标记为付费的成员。数据库中的付费字段是varchar,可以设置为' Y'或者' N'。

function get_paid_emails() {
    $this->db->select('email_address')->from('users')->where('paid', $y);
    $query = $this->db->get();
    return $query->result_array();
} 

我一直在接受未定义的变量' y'当我尝试运行它时,但数据库中肯定有成员设置为付费 - Y。

提前干杯。

5 个答案:

答案 0 :(得分:3)

您选择了paid = $y的数据,并且没有定义$ y变量。如果您想检查是否有人paid列,例如' Y',您可以执行以下操作:

$this->db->select('email_address')->from('users')->where('paid', 'Y');

答案 1 :(得分:1)

答案 2 :(得分:1)

那是因为你没有判断变量y 你可以通过将你的代码chaning到..

来做到这一点
function get_paid_emails() {
    $this->db->select('email_address')->from('users')->where('paid','Y');
    $query = $this->db->get();
    return $query->result_array();
} 

答案 3 :(得分:0)

 function get_paid_emails($y) {
        $this->db->select('email_address')->from('users')->where('paid', $y);
        $query = $this->db->get();
        return $query->result_array();
    } 

将值作为参数传递给此函数或在此函数中定义,或使用如下的直接值

$this->db->select('email_address')->from('users')->where('paid', 'Y');

$this->db->select('email_address')->from('users')->where('paid', 'N');

答案 4 :(得分:0)

我很糟糕我正在使用在线教程并误读了它。我真的打算使用' Y'而不是$ y,根本不需要使用变量。