【问题标题】:Passing function with parameter into select clause Codeigniter将带参数的函数传递给选择子句Codeigniter
【发布时间】:2017-09-07 04:18:24
【问题描述】:

我想将函数 get_path() 调用到 select 子句中(函数 get_all_lelang()),但我不知道如何编写它。你能帮助我吗?

这是我的代码。

public function get_path($kode_lelang){
    $result = $this->db->query("select gambar as gbr from proyek_pertanian NATURAL join lelang where kode_lelang='".$kode_lelang."'")->row_array();
    $path = 'http://localhost/sikonsorsium/'.$result['gbr'];

    $type = pathinfo($path, PATHINFO_EXTENSION);
    $data = file_get_contents($path);
    $base64 = 'data:image/' . $type . ';base64,' . base64_encode($data);
    return $base64;
}

public function get_all_lelang(){
    $sql = "SELECT ".$get_path(."lelang.kode_lelang".)." as binImg, member.*

    FROM `lelang` 
    LEFT JOIN `member` ON `lelang`.`id_member` = `member`.`id_member` 
    JOIN `proyek_pertanian` ON `lelang`.`kode_proyek` = `proyek_pertanian`.`kode_proyek` ";

     $query = $this->db->query( $sql );
     return $query->result();

}

[已编辑] 我正在尝试这个

 public function get_all_lelang(){
    $sql = "SELECT '".$this->get_path("lelang.kode_lelang")."' as binImg, member.*

    FROM `lelang` 
    LEFT JOIN `member` ON `lelang`.`id_member` = `member`.`id_member` 
    JOIN `proyek_pertanian` ON `lelang`.`kode_proyek` = `proyek_pertanian`.`kode_proyek` ";

     $query = $this->db->query( $sql );
     return $query->result();

}

但它返回不同的值,错误的值。请检查 binImg 值。

(错误)

"kode_lelang":"LLG-20160616-183314","binImg":"data:image\/;base64,PCFET0NUWVBFIGh0bWw+Cgo8aHRt

(右)

"kode_lelang":"LLG-20160616-183314","binImg":"data:image\/jpg;base64,\/9j\/4AAQSkZJRgABAQAAAQABAAD\/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ

请帮忙。谢谢:)

【问题讨论】:

    标签: php sql codeigniter phpmyadmin


    【解决方案1】:

    您需要稍作修正,

    改变

    $get_path(."lelang.kode_lelang".)
    

    $this->get_path("lelang.kode_lelang")
    

    【讨论】:

    • 嘿,我意识到它根本不起作用。它返回不同的值。我不知道为什么。请看我的编辑
    • 在控制器中它应该可以工作,你的语法$get_path(."lelang.kode_lelang".)不正确,$this->get_path("lelang.kode_lelang")是类内调用方法的方式
    • 是的,我已经改变了它。我已经编辑了我的问题。请看:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-09
    • 2012-08-31
    • 2018-10-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多