Page 1 sur 1

probleme update

Posté : 25 févr. 2009, 09:09
par stefanelle
Bonjour,

j ai un tableau avec des textbox qui me permette de modifier mes entrées dans mes deux tbales de ma base mais cela ne fonctione pas avez vous une idée le message d erreur est Erreur SQL !
Duplicate entry 'ABR003' for key 1


Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Catalogue</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body link="#000000" vlink="#FFFFFF" alink="#FFFFFF"> <div id="body"> <?php include ('config.php'); include ('connexion.php'); //nom_label $nom_label = $_POST["nom_label"] ; //reference $reference = $_POST["reference"]; $sql1 = "SELECT contenu.reference, contenu.artiste, contenu.album, contenu.format, label.nom_label FROM contenu, label WHERE label.id_label = contenu.id_label AND label.nom_label = '".$_POST ['nom_label']."' "; $req1= mysql_query($sql1) or die( mysql_error() ) ; $total = mysql_num_rows($req1); if($total!=0) { echo '<form method ="post" action="modif2.php">'; echo '<table>'."\n"; echo '<tr>'; echo '<td ><b><u>Label</u></b></td>'; echo '<td ><b><u>reference</u></b></td>'; echo '<td><b><u>artiste</u></b></td>'; echo '<td><b><u>album</u></b></td>'; echo '<td><b><u>format</u></b></td>'; echo '</tr>'."\n"; while($row = mysql_fetch_array($req1)) { echo '<tr>'; echo '<td><input type="text" name="nom_label" value="'.$row["nom_label"].'"/></td>'; echo '<td><input type="text" name="reference" value="'.$row["reference"].'"/></td>'; echo '<td><input type="text" name="artiste" value="'.$row["artiste"].'"/></td>'; echo '<td><input type="text" name="album" value="'.$row["album"].'"/></td>'; echo '<td><input type="text" name="format" value="'.$row["format"].'"/></td>'; echo '</tr>'."\n"; } echo '</table>'."\n"; echo '<input type="submit" name="btOk" value="Modifier!"/>'; echo '</form>'; if (isset($_POST['btOk'])) { $sql3= "UPDATE label, contenu SET nom_label='".$nom_label."', reference='".$_POST['reference']."', artiste='".$_POST['artiste']."',album='".$_POST['album']."', format='".$_POST['format']."', reference ='".$reference."' WHERE nom_label='".$_POST['nom_label']."'"; $req3= mysql_query($sql3) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error()); if($req3) { echo ("L'insertion a été correctement effectuée") ; } else { echo("L'insertion à échouée") ; } } } ?> </body></html> <?php mysql_close(); ?>

Posté : 25 févr. 2009, 11:41
par stopher
Hi ,

A mon avis , c'est à cause du champ de ta clef primaire que tu reçois ce message d'erreur ..

A première vue , tu tente d'ajouter un enregistrement avec une clef primaire identique à une autre qui se trouve déjà dans ta base ...


Sinon , comme je le dit de temps en temps , échappe au minimum via mysql_real_escape_string() tes données utilisées pour creer ta requete .. ( ce n'est qu'un conseil )

Ch.

Posté : 25 févr. 2009, 18:12
par stefanelle
merci pour at réponse c etait bien ca :-)

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]