Ciao a tutti.
Ho un problema con l'utilizzo del metodo mysql_insert_id() . Da quanto ho capito questo metodo dovrebbe ritornare il valore AUTO_INCREMENT dell'ultima INSERT effettuata nell ultima connessione al database, ma non so perchè
mi restituisce sempre 0 , come se nella insert che effetuo non ci sia un valore AUTO_INCREMENT.

Allora, ho una tabella OGGETTO col campo ID autoincrement

+-------------+---------------------------+-----+---------+------------+------------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------------------+-----+---------+------------+------------------+
| id | bigint(20) unsigned | NO | PRI | NULL | auto_increment |

qui posto il codice
Codice PHP:

 
public function salvaNuovoOggetto($nuovo,&$request){
        
        require_once 
'Settings.php';

        
//istanzio classe mysqli
        
$mysqli = new mysqli();

        
//connessione al database server
        
$mysqli->connect(Settings::$db_host,
                        
Settings::$db_user,
                        
Settings::$db_password,
                        
Settings::$db_name);

        
//verifico la presenza di errori
        
if($mysqli->connect_errno!=0){
          
            
//gestione errore
            
$idErrore $mysqli->connect_errno;
            
$msg=$mysqli->connect_error;
            
error_log("Errore nella connessione al server
                     
$idErrore : $msg",0);
            echo 
"Errore nella connessione $msg";
        }else{

            
//assegnamento valori alle variabili
            
$user $_SESSION[BaseController::user];
            
$username_user=$user->getUsername();
            
$password_user=$user->getPassword();
            
$tipologia_id UserCrea::getIdTipologia($request['oggettotipodate']);
            
$catalogo_idUserCrea::getIdCatalogo($username_user,$password_user) ;
            
$nomeOggetto=$request['nomeprodottodate'];
            
$schermo=$request['schermoparamdate'];
            
$ram=$request['RAMparamdate'];
            
$cpu=$request['CPUparamdate'];
            
$hd$request['HDparamdate'];
            
$so$request['SOparamdate'];
            
$descrizione=$request['Descrizparamdate'];
            
$nArticoli=$request['Numberparamdate'];
            
$prezzo=$request['Prezzoparamdate'];

            
//preparo la query di inserimento dei dati DA INSERIRE ID DEI VENDITORI IN $venditori
            
$query="INSERT INTO oggetto
                        ( id, nomeOggetto, catalogo_id, tipologia_id, 
                          schermo, ram, cpu, hd, so,  descrizione, nArticoli, prezzo,date) 
                    VALUES ( DEFAULT, '
$nomeOggetto',$catalogo_id,
                                    
$tipologia_id,'$schermo','$ram','$cpu',
                                   '
$hd','$so','$descrizione','$nArticoli',$prezzo,CURDATE())";
            
            
//lancio la query
            
$result=$mysqli->query($query);

            
//controllo l'esito della query
            
if($mysqli->errno 0){
                
//errore nell'esecuzione
                
error_log("Errore nell'esecuzione della query $mysqli->errno : $mysqli->error",0);
            }else{

                
//recupero l'id autoincrement generato da MYSQL per il nuovo record inserito
                
$new_oggett_idmysql_insert_id(); 
Non so perchè mi torna come risultato sempre zero...sicuramente qualcuno mi potrà dare delucidazioni in proposito..