[RESOLU] Erreur SQL duplicate entry

Membre451
Invité n'ayant pas de compte PHPfrance

11 mai 2013, 22:56

Bonsoir,
J'ai un problème bizard mais qui est très genant.
Voici le code source de ma page :
$pos = $_POST['perso'];

$point = strpos($pos,"]");

$name = mysql_real_escape_string(htmlspecialchars(trim($_POST['perso'])));
$pseudo = mysql_real_escape_string(htmlspecialchars(trim($_POST['newname'])));
$sql8 = mysql_query("SELECT * FROM perso WHERE name = '".$name."' ");
$data8 = mysql_fetch_array($sql8);
$id_account = $data8['account_id'];

if ($data8['online'] > 0.5){
echo '<div class="alert alert-danger"> Vous devez être déconnecter avant de procéder à cette opération </div>';
}else{
mysql_query('UPDATE perso SET name = "'.$pseudo.'"')or die (mysql_error());
echo '<div class="alert alert-success"> Votre personnage a été renommer avec succès ! </div> Redirection vers <a href="?p=home">l\'acceuil dans 3 secondes.</a>';
}
Celle-ci execute bien ma requête sauf que la page web m'envoie ce message
Duplicate entry 'test' for key 'name_key'
Je voudrais savoir la cause du problème.

Je vous remercies !

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

12 mai 2013, 00:21

Modération :
Merci d'utiliser un titre clair et qui correspond bien à ta demande.
Les titres contenant "HELP !", "Aidez-moi", "J'ai un problème", "Ça marche pas",...
n'apportent rien à la compréhension de ta demande.

Par ailleurs, nous savons déjà par ton message que tu as besoin d'aide. ;)

Merci de prendre le temps de lire les règlements.



Le message d'erreur indique que tu essai de modifier une colonne vers une valeur déjà existante.
La en gros tu as une contrainte unique sur la colonne name et tu essai de SET un name a une valeur qui est déjà dans la base ( donc entrée dupliquée ).

@+
Il en faut peu pour être heureux ......

Membre451
Invité n'ayant pas de compte PHPfrance

12 mai 2013, 00:42

Bonsoir,

Désoler, mais j'avais pas trop de temps :S

Merci à toi mais, je n'ai pas très bien compris ce que tu veux je ne peux pas utiliser de SET pour remplacer le nom ? comment puis-je procéder ?
Pourrais-tu m'expliquer s'il te plaît, je t'en remercie.

Cordialement,

Membre451
Invité n'ayant pas de compte PHPfrance

12 mai 2013, 02:26

Problème résolus !

Mammouth du PHP | 2278 Messages

12 mai 2013, 08:22

N'y a-t-ilpas un bouton résolu?
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD