无法识别每个错误变量


Foreach error variable cannot identified

我有这个函数

function c_del()
{
    $session_data = $this->session->userdata('logged_in');
    $uname  = $session_data['username'];
    $query  = $this->user_m->viewDetail($uname);
    foreach($query as $row)
        {
            $username=$row->username;
        }
    $id_calon_reg=$_GET['a'];
    $query1 = $this->candidate_m->del_calon($id_calon_reg);
    $query3 = $this->candidate_m->search_calon($id_calon_reg);
    foreach($query3 as $row)
        {
            $foto_calon=$row->foto_calon;
        }
    unlink($foto_calon);
    $query2 = $this->candidate_m->viewAll();
    $data=array(
        "query"=>$query2,
        "username"=>$username
    );
    $this->load->helper(array('form'));
    $this->load->view('candidate_view',$data);
}

我想取消链接存储在$foto_calon的路径,但我得到这个错误

遇到PHP错误

严重性:注意

消息:未定义变量:foto_calon

文件名:控制器/candidate.php

行号:67

第67行是我调用unlink函数的地方。

但是我已经在foreach中定义了变量$foto_calon。

当我想将用户名存储到$username时,第一次foreach成功,但在第二次foreach中出现错误。

我找不出问题是什么。有人能告诉我吗?

尝试替换

foreach($query3 as $row)
{
   $foto_calon=$row->foto_calon;
}

if(is_array($query3)) {
    foreach($query3 as $row)
    {
        $foto_calon=$row['foto_calon'];
    }
}

如果你想取消链接结果数组中foto_calon的每一行那么把它取消链接放到foreach循环中,比如

if(is_array($query3)) {
    foreach($query3 as $row)
    {
        $foto_calon=$row['foto_calon'];
        unlink($foto_calon);
    }
}

尝试将unlink放入foreach中,如下所示:

    $id_calon_reg=$_GET['a'];
    $query1 = $this->candidate_m->del_calon($id_calon_reg);
    $query3 = $this->candidate_m->search_calon($id_calon_reg);
    foreach($query3 as $row)
        {
            $foto_calon=$row->foto_calon;
            unlink($foto_calon);
        }