CodeIgniter中遇到PHP错误

CodeIgniter中遇到PHP错误,php,codeigniter,Php,Codeigniter,帮助: 遇到一个PHP错误 严重性:警告 消息:非法字符串偏移量“periode” 文件名:models/k3m.php 行号:32 遇到一个PHP错误 严重性:警告 消息:非法字符串偏移量“bulan” 文件名:models/k3m.php 电话号码:33 致命错误:在第39行的C:\LaporBOS\htdocs\laporbos3\application\modules\laporan\u k3\models\k3m.php中对非对象调用成员函数row() I have error: 函

帮助:

遇到一个PHP错误

严重性:警告

消息:非法字符串偏移量“periode”

文件名:models/k3m.php

行号:32

遇到一个PHP错误

严重性:警告

消息:非法字符串偏移量“bulan”

文件名:models/k3m.php

电话号码:33

致命错误:在第39行的C:\LaporBOS\htdocs\laporbos3\application\modules\laporan\u k3\models\k3m.php中对非对象调用成员函数row()

I have error:
函数saldo_bank($param){
$periode=$param['periode'];
$bulan=$param['bulan'];
$bulan=$this->get_bulan2($periode,$bulan);
$sql=“选择IFNULL(SUM(IFNULL(jumlah_debet,0)),0)-IFNULL(SUM(IFNULL(jumlah_kredit,0)),0)作为saldo
来自buku_银行
其中年份(tanggal)=“$this->session->userdata(“tahun_anggaran”)。”
和月(tanggal)<$bulan”;
$data=$this->db->query($sql)->row();
返回$data->saldo;
}

发生这种情况是因为您在调用result()之前调用了row(),所以请更改此设置

    function saldo_bank($param) {
    $periode = $param['periode'];
    $bulan = $param['bulan'];
    $bulan = $this->get_bulan2($periode,$bulan);
    $sql="SELECT IFNULL( SUM(IFNULL(jumlah_debet,0) ),0) - IFNULL( SUM(IFNULL(jumlah_kredit,0) ),0) AS saldo
            FROM buku_bank
            WHERE YEAR(tanggal) =".$this->session->userdata("tahun_anggaran")." 
            AND MONTH(tanggal) < $bulan";
    $data = $this->db->query($sql)->row();
    return $data->saldo;
}
对此

$data = $this->db->query($sql)->row();

传递的数组内部的偏移量不可用。请尝试检查该数组是否存在偏移量 传递调用的偏移量并将其设置为变量。 检查$param数组,并将其写在函数顶部

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

“periode”或“bulan”是否存在于数组中。

$param
param是一个字符串,但您将其视为数组。
var\u dump($param)
如果类型是数组,则问题是您没有periode,而bulan键,如果类型是
string
,那么就有了。如果没有行号,就很难判断,但我假设即使解决了另一个问题,您仍然需要在第()行之前添加result()
echo "<pre>";
print_r($param); exit;
$periode = $param['periode'];