Обрезаемая фатальная ошибка: объект класса stdClass не может быть преобразован в строку в … после попытки вставить в базу данных

Я нашел похожие запросы, подобные моим, в stackoverflow, но не нашел решений. Поэтому я снова спрашиваю. У меня есть следующий запрос на insert :

 $purchase_date = date("Ymd"); $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); 

Но когда я попытался выполнить его, он показывает ошибку, такую ​​как Catchable fatal error: Object of class stdClass could not be converted to string in c:\.....on line 1038

Я потерялся, потому что я даже не могу понять, что означает ошибка! Пожалуйста помоги.

Solutions Collecting From Web of "Обрезаемая фатальная ошибка: объект класса stdClass не может быть преобразован в строку в … после попытки вставить в базу данных"

$this->get_invoice_number() , вероятно, возвращает объект.

вы можете применить его к строке:

 $invoice_number = (string) $this->get_invoice_number(); 

В строке 1038 нет ничего плохого,
скорее всего, строка 1037, имеющая ошибку
(ценный вопрос о литье)

 $invoice_number = $this->get_invoice_number(); 

Вы должны сделать

 var_dump( $this->get_invoice_number() ); 

Тогда, вероятно, вам просто нужно обратиться к объекту, как

 $invoice_number->SOME_PROPERTY;