Pb d'ajout
sarah
-
Alain42 -
Alain42 -
bonjour !! j'ai décider de créer un site internet avec une base de données . Et je rencontre quelques difficultés à enregistrer des nouvelles données dans ma base, en effet quend je clique sur "Valider" un message comme celui-ci s'affiche:
"Impossible d'ajouter un enregistrement fils : une constrainte externe l'empèche"
et je ne sais pas du tout s'ou vient le problème
merci
sarah
"Impossible d'ajouter un enregistrement fils : une constrainte externe l'empèche"
et je ne sais pas du tout s'ou vient le problème
merci
sarah
9 réponses
-
Salut
Pourrais tu envoyer l'url de la page qui pause problème et donner son code source !!
Merci bcp
Seb -
alr j'ai 2 pages, une avec le formulaire, et une autre avec le code php
code avec le formulaire
<?php
include('connexion.php');
?>
<form action="rechp.php" method="POST">
Nom de l'article
<select name = "numperle">
<?php
$sql = "SELECT numperle,nomperle FROM perle";
$requete = mysql_query($sql);
$nombre = mysql_num_rows($requete);
if($nombre!=0){
while(list($numperle,$nomperle) = mysql_fetch_array($requete)){
?>
<option value="<?php echo $numperle;?>"><?php echo $nomperle;?></option><?php
}
}?>
</select>
<input type="submit" value="Rechercher"/>
</form>
et la 2ème page:
<?php
include("connexion.php");
$reponse =mysql_query("SELECT *
FROM perle,formeperle, couleurperle, genreperle,matiere
WHERE numperle='".$_POST['numperle']."'
and formeperle.numformeperle=perle.numformeperle
and couleurperle.numcouleurperle=perle.numcouleurperle
and genreperle.numgenreperle=perle.numgenreperle
and matiere.nummatiereperle=perle.nummatiereperle");
$nblignes=mysql_num_rows($reponse);
$i=0;
echo 'Le ou les article(s) correspondant(s) à votre requête :';
while($i<$nblignes):
$nomperle=mysql_result($reponse,$i,"nomperle");
$image=mysql_result($reponse,$i,"image");
$formeperle=mysql_result($reponse,$i,"nomformeperle");
$couleurperle=mysql_result($reponse,$i,"nomcouleurperle");
$genreperle=mysql_result($reponse,$i,"nomgenreperle");
$matiereperle=mysql_result($reponse,$i,"nommatiereperle");
?>
<p><?php echo "$nomperle"?>
<p> <?php echo "$formeperle"?>
<p> <?php echo "$couleurperle"?>
<p> <?php echo "$genreperle"?>
<p> <?php echo "$matiereperle";
$i++;
endwhile
?>
<img src="<?php echo $image;?>"/>
<img src="<?php $image?>">
voila voila ...
merci -
ton ficher connexion.php est il correct ?
Pas d'erreur de bdd ou de mots de passe ? je suppose que non si non tu aurais une erreur du tu type "Could not connect" ...
Et l'url de la page si elle est en ligne c'est ??
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Je pense que le problème vient des propriétés que tu as données aux champs de ta base sql (not NULL etc...)
CE problème apparait quand, un champs que tu a renseigner comme ne pouvant pas être null, est null !
exemple : tu as un champ qui s'appelle id_age et qui pointe donc j'imagine vers une table "age". Et tu es donc obligé de précisé quelque chose dans id_age qui corresponde a un groupe qui existe.
Si rien n'est précisé alors ta requette est est rejeter ... tu dois donc preciser quelque chose dans le champ OU modifié sa contrainte ( pas not null)
Voila je pense que ce cela doit venir d'un de tes champs ... regarde sur ta bdd
Et tiens moi au courant
Seb
-
bon alors j'ai regarder dans ma base et dans le champs NULL, pour toutes mes tables c'est écrit "NON", ça signifie quoi ?
-
Et je rencontre quelques difficultés à enregistrer des nouvelles données dans ma base, en effet quend je clique sur "Valider"
Pour enregistrer des données modifiées dans une BDD il faut utiliser la requette UPDATE et je ne la voit nulle part dans ton script. -
mais je n'est rien dans ma base, donc je suis obligé d'utliser un insert into, et le update sert a acualisé des données déja présentes dans la base??? non c pas ça?
-
OUi exact il te fuat une requette INSERT INTO.
Mais elle n'y est pas non plus dans ton script.
Ce que je ne comprend pas c'est que ton formulaire lit ce qui est déja dans la base, et l'affiche dans une liste SELECT,alors que veux tu rajouter ?