Remplir simultanément 2 tables reliées
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 :
Code:
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();
?> |
Et voici la structure de mes tables :
Code:
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 |
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.
Si quelqu'un pouvez m'aider, se serai sympa
Merci d'avance...