Mysqli insert_id()

Je ne sais pas, qu'est ce qui cloche dans mon code. J'essaie d'obtenir le dernier id inséré, c'est en écho à 0. Une idée?

public function __construct() {
  $this->mysqli = new mysqli(MYSQLI_SERVER, MYSQLI_USER, MYSQLI_PWD, MYSQLI_DBNAME) or die ('Error with connecting to the database!');;
}
public function insert_id(){
   return $this->mysqli->insert_id;  
}

$db->query("INSERT INTO user(f_name, l_name) VALUES('$f_name', '$l_name')");
var_dump($db->insert_id()); //return 0?
  • Avez-vous un unique, auto-incrément champ ID?
  • MANUEL PHP:L'IDENTIFIANT généré pour une colonne de type AUTO_INCREMENT par la requête précédente en cas de succès, 0 si la requête précédente ne permet pas de générer une valeur AUTO_INCREMENT, ou FALSE si aucune connexion MySQL a été établi.
  • oui, id_user est la clé primaire.
  • Après avoir cherché pendant des heures pour mon erreur, j'ai trouvé beaucoup de forums en supposant que la fonction est un peu buggé. Pour mon instruction insert, ça fonctionne très bien, mais à l'aide de l'instruction de mise à jour c'est toujours le retour de 0...
  • Aussi, on dirait qu'il vous manque des guillemets de fermeture " dans '));. Je ne suis même pas sûr de savoir comment les var_dump est en cours d'exécution si vous avez été en utilisant exactement le même code... en 2011.
InformationsquelleAutor tonoslfx | 2011-04-30