2012-02-01 13 views
5

Znalazłem podobne zapytania, takie jak moje w stackoverflow, ale nie znalazłem żadnych rozwiązań. Więc proszę o to ponownie. Mam następujący insert zapytanie:Złapalny błąd krytyczny: Obiekt klasy stdClass nie mógł zostać przekonwertowany na ciąg znaków w .. podczas próby wstawienia do bazy danych

$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); 

Ale kiedy próbowałem go uruchomić, to pokazuje błąd jak Catchable fatal error: Object of class stdClass could not be converted to string in c:\.....on line 1038

jestem zgubiony, ponieważ nie mogę nawet zrozumieć, co oznacza, że ​​błąd! Proszę pomóż.

Odpowiedz

6

$this->get_invoice_number() prawdopodobnie zwróci obiekt.

można oddać go na ciąg:

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

Ya ... wielkie dzięki. Oszukuj mnie, to był obiekt! – AssamGuy

+0

Z pewnością jest to rzutowanie na ciąg znaków, który powoduje błąd w pierwszej kolejności ... – cmbuckley

3

Nie ma nic złego w linii 1038,
najprawdopodobniej jest linia 1037 mając błąd
(cenne problem odlew)

$invoice_number = $this->get_invoice_number(); 

Powinieneś zrobić

Najprawdopodobniej wystarczy odwołać się do właściwości obiektu, np.

+0

Przesyłanie na ciąg znaków będzie miało taki sam błąd, jak użycie go w łańcuchu; przydatne może być 'var_dump()'. – cmbuckley

Powiązane problemy