E' un problema che ho sempre avuto e non ho mai trovato una vera soluzione, se non presumere che l'update avvenga comunque correttamente
Sto facendo una classe per l'aggiornamento del glossario del mio sito solo che il parametro $result->affected_rows del mio update restituisce sempre un valo inferiore a 1, anche se l'aggiornamento è avvenuto correttamente sul database.
Qualcuno sa un sistema differente per controllare se l'aggiornamento è accenuto con successo?
Codice PHP:
if ($gloss_id>0){
$query="UPDATE gloss SET nome = ? , slug = ? , sign = ? WHERE id = ?";
// prepara
$result = $tpdb->prepare($query) or die($mysqli->error);
//fissare i parametri
// formattare lo slug!
$result->bind_param("sssi", $name, $slug, $description, $gloss_id);
} else {
// imposta la query per inserire gli utenti
$query="INSERT INTO gloss ( nome , slug , sign, word_insert) VALUES ( ?, ?, ?,NOW())";
$result = $tpdb->prepare($query) or die($mysqli->error);
//fissare i parametri
// formattare lo slug!
$result->bind_param("sss", $name, $slug, $description);
}
$result->execute();
$this->last_id=$tpdb->insert_id;
if ($result->affected_rows>0) {
return $tpdb->insert_id;
} else {
return false;
}