Probleme d'incrémentation
Résolu
skykiller31
Messages postés
112
Date d'inscription
Statut
Membre
Dernière intervention
-
Dalida Messages postés 6728 Date d'inscription Statut Contributeur Dernière intervention -
Dalida Messages postés 6728 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
voici mon code PHP qui est sensé stocker le message envoyé d'une personne à l'autre:
//connexion à la base des données
$user="root";
$pass="";
$db="localhost";
$link = mysql_connect($db,$user,$pass);
if($link != 0)
{
echo("<p>vous êtes bien connecté</p>");
// ouverture de la base
mysql_select_db('bd_site_web',$link);
if($link != 0)
echo("<p>bienvenue</p>");
else
echo("<p>un problème est survenu lors de la tentation de votre connection!</p>");
}
else
echo("<p>réessayez plus tard.</p>");
//reccuperation des elements du formulaire
$msg=$_POST["txt_msg"];
$expediteur=$_POST["txtExp"];
$destinataire=$_POST["txtDes"];
//requetes des recherches
$searchExp=("select code_abonne
from abonne
where pseudo='$expediteur';");
$searchcode="select code_message
from messages
where code_abonne='$affectation[code_abonne]'
AND txt_message='$msg';";
$sqlinsert="insert into recevoir values ('$affect[code_message]','$destinataire');";
//requete de recherche du pseudo correspondant
$sqlpseudo="select pseudo
from session
where pseudo='$destinataire'";
//execution des requetes
$pseudo=mysql_query($sqlpseudo) or die (mysql_error());
$Exp=mysql_query($searchExp);
$affectation=mysql_fetch_array($Exp);
//requete d'insertion du message
$sqlinsert1="insert into messages values ('','" .$affectation[code_abonne]. "','$msg');";
//execution de la requete
mysql_query($sqlinsert1) or die (mysql_error());
$codemsg=mysql_query($searchcode)or die (mysql_error());
$affect=mysql_fetch_array($codemsg);
mysql_query($sqlinsert)or die (mysql_error());
//controle des resultats
echo ("<p>voici le code du message envoyé-----> " . $affect[code_message] . "</P>");
echo ("<p>voici le numéro de l'expediteur-----> " . $affectation[code_abonne] . "</P>");
apres execution de ce code il y a deux incrementation sensées s'executer la 1ere dans la table recevoir (et c'est là où un message d'erreur s'affiche en me disant qu'il y a probleme de contrainte de clé etrangères) et la deuxieme incrémentation se fait au niveau de la table message qui s'execute comme il faut (au moins une est faite oouuuff!!)
n'hesitez pas à me demander plus de détails et merci pour vos conseils!!
voici mon code PHP qui est sensé stocker le message envoyé d'une personne à l'autre:
//connexion à la base des données
$user="root";
$pass="";
$db="localhost";
$link = mysql_connect($db,$user,$pass);
if($link != 0)
{
echo("<p>vous êtes bien connecté</p>");
// ouverture de la base
mysql_select_db('bd_site_web',$link);
if($link != 0)
echo("<p>bienvenue</p>");
else
echo("<p>un problème est survenu lors de la tentation de votre connection!</p>");
}
else
echo("<p>réessayez plus tard.</p>");
//reccuperation des elements du formulaire
$msg=$_POST["txt_msg"];
$expediteur=$_POST["txtExp"];
$destinataire=$_POST["txtDes"];
//requetes des recherches
$searchExp=("select code_abonne
from abonne
where pseudo='$expediteur';");
$searchcode="select code_message
from messages
where code_abonne='$affectation[code_abonne]'
AND txt_message='$msg';";
$sqlinsert="insert into recevoir values ('$affect[code_message]','$destinataire');";
//requete de recherche du pseudo correspondant
$sqlpseudo="select pseudo
from session
where pseudo='$destinataire'";
//execution des requetes
$pseudo=mysql_query($sqlpseudo) or die (mysql_error());
$Exp=mysql_query($searchExp);
$affectation=mysql_fetch_array($Exp);
//requete d'insertion du message
$sqlinsert1="insert into messages values ('','" .$affectation[code_abonne]. "','$msg');";
//execution de la requete
mysql_query($sqlinsert1) or die (mysql_error());
$codemsg=mysql_query($searchcode)or die (mysql_error());
$affect=mysql_fetch_array($codemsg);
mysql_query($sqlinsert)or die (mysql_error());
//controle des resultats
echo ("<p>voici le code du message envoyé-----> " . $affect[code_message] . "</P>");
echo ("<p>voici le numéro de l'expediteur-----> " . $affectation[code_abonne] . "</P>");
apres execution de ce code il y a deux incrementation sensées s'executer la 1ere dans la table recevoir (et c'est là où un message d'erreur s'affiche en me disant qu'il y a probleme de contrainte de clé etrangères) et la deuxieme incrémentation se fait au niveau de la table message qui s'execute comme il faut (au moins une est faite oouuuff!!)
n'hesitez pas à me demander plus de détails et merci pour vos conseils!!
3 réponses
salut,
c'est là où un message d'erreur s'affiche en me disant qu'il y a probleme de contrainte de clé etrangères
ben c'est surtout le message d'erreur qu'il nous faudrait…
et as-tu vraiment besoin de mettre des contraintes sur tes tables ?
c'est là où un message d'erreur s'affiche en me disant qu'il y a probleme de contrainte de clé etrangères
ben c'est surtout le message d'erreur qu'il nous faudrait…
et as-tu vraiment besoin de mettre des contraintes sur tes tables ?
merci dalida pour ton aide mais j'ai changé l'architecture de ma base de données pour plus de simplicité