php mysql_insert_id(); ne fonctionne pas
Salut les gars j'espérais de l'aide, s'il vous plaît.
J'ai une requête d'INSERTION d'une table, après cela est fait, je suis d'appel:
mysql_insert_id();
Pour envoyer le dernier ID inséré dans le tableau de la page suivante comme ceci:
$insertGoTo = "confirm_booking.php?booking_ID=" .$_POST['booking_ID']. "";
Malheureusement cela ne fonctionne pas, tout ce que j'obtiens est un zéro.
La table, je suis de l'insertion en a une auto incrémenter le numéro et les valeurs sont insérées dans il.
J'ai aussi essayé de SELECT MAX(id) FROM mytable
. Cette dosn pas fonctionné non plus.
Je sais que ce problème a été parlé déjà. J'ai lu tous les posts mais rien n'est utile.
Merci beaucoup Francesco
- Pouvez-vous montrer le code exact que vous utilisez? Êtes-vous sûr que vous utilisez la connexion de base de données?
- Merci Pekka, le retour de Jan a parfaitement fonctionné. PS la base de données connexion était très bien.
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser la valeur retournée par MySql_Insert_Id () lorsque vous générez votre lien:
Il est possible que votre table n'a pas de
AUTO_INCREMENT
terrain!Il pourrait également se produire parce que vous avez deux ou plusieurs connexions mysql en même temps.
Dans ce cas, vous devez utiliser un
link identifier
.Certains points clés du Manuel PHP:
Si ce n'est avoir un champ de type AUTO_INCREMENT n'est pas votre problème, vous voudrez peut-être essayer de stocker le résultat de la mysql_query appel et en l'utilisant comme argument de la fonction d'identification des
Eu un problème à l'aide d'une requête comme ceci:
INSERT INTO membres (pseudo,mot de passe,email) VALUES (...)
Changer l':
INSERT INTO membres (id,nom d'utilisateur,mot de passe,email) VALUES (",...)
à l'aide d'une une valeur vide " aura MySQL utiliser l'Auto Incrément de valeur, mais aussi vous permettre de l'utiliser dans votre requête, vous pouvez revenir à l'insert id
mysql_insert_id peut renvoyer 0 ou false si votre insertion échoue droit?
Donc, si vous avez des problèmes avec mysql_insert_id pas retunring ce que vous attendez de confirmer que vous n'avez pas une contrainte unique ou un autre problème avec votre sql qui serait la cause de l'insérer à l'échec. À l'aide de max est une idée terrible si vous considérez que c'.
Assurez-vous de mettre
mysql_insert_id()
après laRequête ci-dessus chargé de l'exécution de votre
Insert INTO ...
de commande.Après vous pouvez obtenir le dernier ID inséré
mysql_insert_id
est délivré après mysql_query;J'ai également souffrir de ce problème. Finalement, j'ai trouvé que le problème se produit dans ma connexion à la base de données. Vous pouvez utiliser ce code de connexion pour se connecter à la base de données, vous pouvez facilement utiliser mysqli_insert_id().
Ensuite, vous pouvez utiliser mysqli_insert_id() comme
J'espère que cela va vous aider. Je vous avez un quelconque problème puis de laisser votre commentaire.
La
mysqli_insert_id
fonction est obsolète. Cela peut être votre problème.Au lieu de cela, essayez de
$mysqli->insert_id
. Voir la la documentation pour plus d'info.