Ciao a tutti,
Ho un problema, non riesco ad assegnare il valore di $mysqli->insert_id a una variabile.
Dopo l'esecuzione della query ho visto che il campo $mysqli->insert_id ad esempio prende il valore 69
ma se nella riga successiva faccio
[PHP]
$oggetto_id = $mysqli->insert_id;[/PHP]
$oggetto_id non prende il valore 69 ma bensì 0 . :bho:
Qualcuno può dirmi quale potrebbe essere la causa? ..grazie
dream92
@dream92
Post creati da dream92
-
[PHP/MYSQL]Difficoltà prelievo valore $mysqli->insert_id
-
[PHP/MYSQL]problemi con mysql_insert_id()
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
[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_id= UserCrea::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_id= mysql_insert_id();[/PHP]
$new_oggett_id assume sempre il valore zero, non riesco a capire dove sbaglio :?...sicuramente qualcuno mi potrà dare delucidazioni in proposito..