可捕获的致命错误:当尝试插入数据库时​​,类stdClass的对象无法转换为字符串

Ass*_*Guy 5 php mysql fatal-error

我在stackoverflow中找到了类似的查询,但没有找到解决方案.所以我再问一遍.我有以下insert查询:

$purchase_date = date("Y-m-d");

    $init = substr($info[fname], 0, 2);
    $odr = rand(0,255);

    $invoice_number = $this->get_invoice_number();

    //$invoice_number = $invoice_number+1;
    //$invoice_number = 400 + rand(0,100);
    $order_number = $init.'-'.$odr;


    $session_id = session_id();

    $sql = "
        INSERT INTO
            tbl_checkout
        SET
            fname = '$info[fname]',
            lname = '$info[lname]',
            email = '$info[email]',
            phone = '$info[phone]',
            address = '$info[address]',
            pin = '$info[pin]',
            session_id = '$session_id',
            purchase_date = '$purchase_date',
            invoice_number = '$invoice_number',
            order_number = '$order_number'             <----This is line no 1038
    ";
    $this->db->insertQuery($sql);
Run Code Online (Sandbox Code Playgroud)

但是当我试图执行它时,它显示错误 Catchable fatal error: Object of class stdClass could not be converted to string in c:\.....on line 1038

我迷路了,因为我甚至无法理解错误的含义!请帮忙.

kon*_*ddy 7

$this->get_invoice_number() 可能正在返回一个对象.

你可以将它强制转换为字符串:

$invoice_number = (string) $this->get_invoice_number();
Run Code Online (Sandbox Code Playgroud)