Je reçois l'erreur suivante:Pourquoi j'obtiens une erreur d'entrée en double lorsqu'il n'y a pas d'entrée en double?
Duplicate entry 'ahamzaoui_v2' for key 'Username' in /opt/lampp/htdocs/webEchange/SiteWeb_V5/dupliquerCompte2.php on line 135
lors de l'exécution d'un script php. Je l'ai essayé plusieurs fois mais je ne sais pas pourquoi je reçois cette erreur. Voici le code autour de la ligne 135:
$sql = "UPDATE utilisateur SET Username = '" . mysql_real_escape_string($infos['Username']) . "2', MotDePasse = '" . mysql_real_escape_string($infos['MotDePasse']) . "2' WHERE Matricule = " . $infos['Matricule'];
line 135 -> if(mysql_query($sql))
comme vous pouvez le voir, je suis en train d'ajouter un 2 à la valeur existante pour nom d'utilisateur. Voici ce que je ne comprends pas. Si je vais jeter un oeil à la table des utilisateurs, je ne trouve aucune entrée avec la valeur ahamzaoui_v2.Ensuite, j'essaie d'exécuter le script, et j'obtiens l'erreur! La chose amusante est, après l'exécution du script (et signalé une erreur), la valeur est modifiée! J'ai maintenant ahamzaoui_v2 au lieu de ahamzaoui_v. Le problème est que le REST du script n'est pas exécuté donc je reçois seulement une partie de ce que je veux (une petite partie). En dehors d'une instruction SELECT, c'est la première requête que je lance, donc je ne vois vraiment pas comment il peut y avoir une entrée en double, d'autant plus que je viens de vérifier cela auparavant.
à la lecture this thread, je tryed courir vérifier la table Utilisateur, mais il a révélé aucune erreur que ce soit ..
BTW, si je lance plusieurs fois le script dans une rangée, je reçois toujours l'erreur, et les extrémités de nom d'utilisateur avec beaucoup de 2 ajoutés (ahamzaoui_v222)
nom d'utilisateur est unique, oui. comme pour le tableau $ info, je l'utilise comme ceci: $ infos = mysql_query ($ sqlCopier); if ($ infos) {if (mysql_num_rows ($ infos)> 0) {$ infos = mysql_fetch_array ($ infos); Aucune manipulation de chaîne PHP. – Shawn