php
  • codeigniter
  • 2017-02-07 48 views 0 likes 
    0

    錯誤:笨:試圖讓行的非對象()的財產

    enter image description here

    這裏是我的代碼: enter image description here

    function get_modal_awal(){ 
        date_default_timezone_set('Asia/Jakarta'); 
        $sql = "SELECT modal_awal 
          FROM trans_modal_awal 
          WHERE date_format(tanggal,'%Y-%m-%d') = '".date('Y-m-d')."' 
          AND kode_kasir = ".$_SESSION['kode_user'].""; 
        return $this->db->query($sql)->row()->modal_awal; //the error goes here 
    } 
    

    我認爲這樣的代碼:

    <input readonly class="form-control" type="text" id="modal_awal"name="modal_awal" value="<?php echo $modal_awal;?>"></input> 
    

    我的控制權ler:

    $data['modal_awal'] = $this->Modal_kasir_model->get_modal_awal(); 
    

    我該怎麼辦?

    +1

    難道這裏寫代碼更難嗎? –

    +0

    你可以將代碼粘貼爲文本嗎?任何想要測試或編輯它的人現在都必須重新輸入。 –

    +0

    @BenHillier文章編輯 –

    回答

    0

    你假設你的SQL總是返回一行。如果沒有,那麼就沒有對象可讀。我會嘗試這個陷阱:

    function get_modal_awal(){ 
        date_default_timezone_set('Asia/Jakarta'); 
        $sql = "SELECT modal_awal 
          FROM trans_modal_awal 
         WHERE date_format(tanggal,'%Y-%m-%d') = '".date('Y-m-d')."' 
         AND kode_kasir = ".$_SESSION['kode_user'].""; 
    
        //Get row 
        $result = $this->db->query($sql); 
        if($result){ 
         $row = $result->row(); 
         if($row){ 
          //return row if set 
          return $row->modal_awal; 
         } 
        } 
        //return nothing, and deal with it in the calling code 
        return false; 
    
    } 
    

    這也是未嘗不可的try ... catch塊來包裝你的SQL調用。

    +0

    @BenHilier是我的觀點-php回聲代碼 - 對嗎? –

    +0

    只是。用'return'替換上述函數中的'return false;';當查詢不返回任何內容時,你會得到一個空的'input'框。您還需要在模板id =「modal_awal」name =「modal_awal」' –

    +0

    woa之前在_name_之前放置一個空格。我工作了!感謝:D –

    0
    function get_modal_awal() 
    { 
        date_default_timezone_set('Asia/Jakarta'); 
        $sql = "SELECT modal_awal 
        FROM trans_modal_awal 
        WHERE date_format(tanggal,'%Y-%m-%d') = '".date('Y-m-d')."' 
        AND kode_kasir = ".$_SESSION['kode_user'].""; 
        $res = $this->db->query($sql); 
        return $res->row('modal_awal'); 
        } 
    

    使用上面的代碼

    +0

    如果查詢無效,這不會拋出錯誤嗎? '$ res'將爲空。 –

    +0

    語法錯誤,意外的'return'(T_RETURN),期待函數(T_FUNCTION) –

    +0

    將結果放在變量中並返回該變量ex:$ val = $ res-> row('modal_awal');返回$ val; –

    相關問題