Bonjour,
J'essai de remplir deux tables reliées simultanément, mais il y a le message d'erreur suivant :
duplicate entry '0' for key 2
Voici mon code :
Et voici la structure de mes tables :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <?php $album=$_POST['album']; $categorie=$_POST['categorie']; $artiste=$_POST['artiste']; $db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error()); mysql_select_db('essai',$db) or die('Erreur de selection '.mysql_error()); // insére d'abord les infos dans la table catégories $sql = "INSERT INTO catégories(id_cat, genre) VALUES('','$categorie')"; mysql_query($sql) or die('Erreur SQL,requete table categories !'.$sql.'<br>'.mysql_error()); // récupére l'id_cat qui vient d'étre générée $id_cat = mysql_insert_id(); // insére les infos dans la table disques $sql = "INSERT INTO disques(id_album, album, id_cat,artiste) VALUES('','$album','$id_cat','$artiste')"; mysql_query($sql) or die('Erreur SQL,requete table disques !'.$sql.'<br>'.mysql_error()); mysql_close(); ?>
Je pense que sa viens plus d'un problème de table que de PHP ,mais je ne trouve pas d'ou sa peut venir.
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 CREATE TABLE `catégories` ( `id_cat` int(50) NOT NULL auto_increment, `genre` varchar(50) NOT NULL default '', PRIMARY KEY (`id_cat`) ) ENGINE=MyISAM CREATE TABLE `disques` ( `id_album` int(11) NOT NULL auto_increment, `album` text NOT NULL, `id_cat` int(50) NOT NULL default '0', `artiste` text, PRIMARY KEY (`id_album`), UNIQUE KEY `id_cat` (`id_cat`) ) ENGINE=MyISAM
Si quelqu'un pouvez m'aider, se serai sympa
Merci d'avance...
Partager