2012-02-01 16 views
5

ho trovato query simili come le mie in stackoverflow, ma non ho trovato soluzioni. Quindi lo sto chiedendo di nuovo. Ho la seguente insert query:Errore irreversibile Catchable: oggetto della classe stdClass non può essere convertito in stringa in..quando provato a inserire nel database

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

Ma quando ho cercato di eseguirlo, si vede errore come Catchable fatal error: Object of class stdClass could not be converted to string in c:\.....on line 1038

sono perduto perché non riesco nemmeno a capire che cosa significa l'errore! Per favore aiuto.

risposta

6

$this->get_invoice_number() probabilmente restituisce un oggetto.

si può lanciare in una stringa:

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

Ya ... grazie mille. Ingannarmi, era un oggetto! – AssamGuy

+0

Sicuramente sta eseguendo il casting su una stringa che causa l'errore in un primo momento ... – cmbuckley

3

Non c'è nulla di sbagliato in linea 1038,
più probabile è la linea 1037 con un errore
(prezioso problema fusione)

$invoice_number = $this->get_invoice_number(); 

Si dovrebbe fare un

var_dump($this->get_invoice_number()); 

Quindi probabilmente devi solo riferirti alla proprietà dell'oggetto come

$invoice_number->SOME_PROPERTY; 
+0

La conversione in stringa avrà lo stesso errore del suo utilizzo in una stringa; il 'var_dump()' sarà comunque utile. – cmbuckley

Problemi correlati