Insertion php
so
-
so -
so -
salut !
j'ai fait un script pour insérer des données dans ma bdmais ça ne veux pas le faire....
en fait, des la premiere requete, ça plente !!
<?php
//cnx à la bd
$bd = mysql_connect('localhost', 'login','mot de passe') or die ("erreur de connexion");
//séléction de la bd
mysql_select_db(courrier, $bd) or die("erreur de connexion à la base");
//verification des données
// if(empty($nomexp))
//{
// echo "Le nom de l'expéditeur n'est pas rempli ! ";
//}
//if (empty($objet) || empty($typecourrier))
//{
// echo "L'objet ou le type du courrier ne sont pas spécifiés ! ";
//}
//if(empty($datenvoi))
//{
// echo "La date d'envoi du courrier n'est pas spécifiée ! ";
//}
//if (empty($service))
//{
// echo " Le service n'est pas rempli ! ";
//}
// on récupere le no de l'expediteur
$query1 = "SELECT noexpediteur FROM expediteur WHERE nomexpediteur = '$nomexp', prenexpediteur = '$prenexp', steexpediteur = '$steexp', villeexpediteur = '$villexp'";
$result1 = mysql_query($query1) or die ("La requete a echoué ");
//on vérifie que l'expéditeur n'existe pas
if (mysql_num_rows($result1)==0) // si l'expediteur n'existe pas il faut l'insérer
{
$query2 = "INSERT INTO expediteur (noexpediteur, nomexpediteur, prenexpediteur, steexpediteur, activiteexp, villeexp) VALUES (NULL, '$nomexp', '$prenexp', '$steexp', '$activiteexp', '$villexp')";
$result2 = mysql_query($query2) or die ("L'insertion à échoué !");
$query3 = $query1;
$result3 = mysql_query($query3) or die ("La requete 3 a échoué");
$line = mysql_fetch_array($result3);
$numeroexp = $line[0];
}
else //sinon, on récupere son numéro
{
$line = mysql_fetch_array($result1);
$numeroexp = $line[0];
}
//on récupere le no du destinataire correspondant au nom (dans la table destinataire);
$query4= "SELECT * FROM destinataire WHERE nomdestinataire = '$nomdest'";
$result4 = mysql_query($query4) or die ("La requete 4 à échoué");
$linenodest = mysql_fetch_array($result4);
$nodest = $linenodest[0];
//on récupere le numéro du service (de la table service)
$query5 = "SELECT * FROM service WHERE libservice = '$service'";
$result5 = mysql_querry($query5) or die ("La requete 5 à échoué");
$linenoserv = mysql_fetch_array($result5);
$noserv = $linenoserv[0];
//on récupere le numéro du type de courrier (de la table type courrier)
$query6 = "SELECT * FROM typecourrier WHERE libtypecourrier = '$typecourrier'";
$result6 = mysql_query($query6) or die ("la requete 6 à échoué");
$linetypnocour = mysql_fetch_array($result6);
$notypcour = $linetypnocour[0];
//on insere les champs dans la table courrier
$query5 = "INSERT INTO courrier (nocourier, objetcourrier, chpsrqs, datenvoi, refnoexpediteur, refnotypcourrier, chpsrqs, datenvoi, confidentiel, ) VALUES (NULL, '".$objet."', '".$chpsrqs."', '".$detenvoi."', '".$numeroexp."', '".$numtypcour."')";
$result5 = mysql_query($query5) or die("La requete 5 à échouer");
mysql_close();
?>
j'ai fait un script pour insérer des données dans ma bdmais ça ne veux pas le faire....
en fait, des la premiere requete, ça plente !!
<?php
//cnx à la bd
$bd = mysql_connect('localhost', 'login','mot de passe') or die ("erreur de connexion");
//séléction de la bd
mysql_select_db(courrier, $bd) or die("erreur de connexion à la base");
//verification des données
// if(empty($nomexp))
//{
// echo "Le nom de l'expéditeur n'est pas rempli ! ";
//}
//if (empty($objet) || empty($typecourrier))
//{
// echo "L'objet ou le type du courrier ne sont pas spécifiés ! ";
//}
//if(empty($datenvoi))
//{
// echo "La date d'envoi du courrier n'est pas spécifiée ! ";
//}
//if (empty($service))
//{
// echo " Le service n'est pas rempli ! ";
//}
// on récupere le no de l'expediteur
$query1 = "SELECT noexpediteur FROM expediteur WHERE nomexpediteur = '$nomexp', prenexpediteur = '$prenexp', steexpediteur = '$steexp', villeexpediteur = '$villexp'";
$result1 = mysql_query($query1) or die ("La requete a echoué ");
//on vérifie que l'expéditeur n'existe pas
if (mysql_num_rows($result1)==0) // si l'expediteur n'existe pas il faut l'insérer
{
$query2 = "INSERT INTO expediteur (noexpediteur, nomexpediteur, prenexpediteur, steexpediteur, activiteexp, villeexp) VALUES (NULL, '$nomexp', '$prenexp', '$steexp', '$activiteexp', '$villexp')";
$result2 = mysql_query($query2) or die ("L'insertion à échoué !");
$query3 = $query1;
$result3 = mysql_query($query3) or die ("La requete 3 a échoué");
$line = mysql_fetch_array($result3);
$numeroexp = $line[0];
}
else //sinon, on récupere son numéro
{
$line = mysql_fetch_array($result1);
$numeroexp = $line[0];
}
//on récupere le no du destinataire correspondant au nom (dans la table destinataire);
$query4= "SELECT * FROM destinataire WHERE nomdestinataire = '$nomdest'";
$result4 = mysql_query($query4) or die ("La requete 4 à échoué");
$linenodest = mysql_fetch_array($result4);
$nodest = $linenodest[0];
//on récupere le numéro du service (de la table service)
$query5 = "SELECT * FROM service WHERE libservice = '$service'";
$result5 = mysql_querry($query5) or die ("La requete 5 à échoué");
$linenoserv = mysql_fetch_array($result5);
$noserv = $linenoserv[0];
//on récupere le numéro du type de courrier (de la table type courrier)
$query6 = "SELECT * FROM typecourrier WHERE libtypecourrier = '$typecourrier'";
$result6 = mysql_query($query6) or die ("la requete 6 à échoué");
$linetypnocour = mysql_fetch_array($result6);
$notypcour = $linetypnocour[0];
//on insere les champs dans la table courrier
$query5 = "INSERT INTO courrier (nocourier, objetcourrier, chpsrqs, datenvoi, refnoexpediteur, refnotypcourrier, chpsrqs, datenvoi, confidentiel, ) VALUES (NULL, '".$objet."', '".$chpsrqs."', '".$detenvoi."', '".$numeroexp."', '".$numtypcour."')";
$result5 = mysql_query($query5) or die("La requete 5 à échouer");
mysql_close();
?>
30 réponses
- 1
- 2
Suivant
-
ça plente !!
Désolé, je connais pas cette erreur. Par contre, si l'interpreteur te donnait une erreur bien explicite autre que "ca plante", ca nous aiderait vraiment à touver.
Kalamit,
Et ben crôôôôa, alors ? :@) -
dsl pour les fautes d'orthographe !!!
en fait, j'ai ça
Champ 'activiteexp' inconnu dans field list
c'est en rapport avec cette requete :
$query2 = "INSERT INTO expediteur (noexpediteur, nomexpediteur, prenexpediteur, steexpediteur, activiteexp, villeexp) VALUES (NULL, '$nomexp', '$prenexp', '$steexp', '$activiteexp', '$villexp')";
$result2 = mysql_query($query2) or die ("L'insertion à échoué !"); -
essaie ca:
$query1 = "SELECT noexpediteur FROM expediteur WHERE nomexpediteur = '$nomexp' and prenexpediteur = '$prenexp' and steexpediteur = '$steexp' and villeexpediteur = '$villexp'";
$result1 = mysql_query($query1) or die ("La requete a echoué ");
//on vérifie que l'expéditeur n'existe pas
if (mysql_num_rows($result1)==0) // si l'expediteur n'existe pas il faut l'insérer
{
$query2 = "INSERT INTO expediteur VALUES (NULL, '$nomexp', '$prenexp', '$steexp', '$activiteexp', '$villexp')";
$result2 = mysql_query($query2) or die ("L'insertion à échoué !");
$result1 = mysql_query($query3) or die ("La requete 3 a échoué");
}
//on récupere le no du destinataire correspondant au nom (dans la table destinataire);
$query4= "SELECT * FROM destinataire WHERE nomdestinataire = '$nomdest'";
$result4 = mysql_query($query4) or die ("La requete 4 à échoué");
$linenodest = mysql_fetch_array($result4);
$nodest = $linenodest[0];
//on récupere le numéro du service (de la table service)
$query5 = "SELECT * FROM service WHERE libservice = '$service'";
$result5 = mysql_querry($query5) or die ("La requete 5 à échoué");
$linenoserv = mysql_fetch_array($result5);
$noserv = $linenoserv[0];
//on récupere le numéro du type de courrier (de la table type courrier)
$query6 = "SELECT * FROM typecourrier WHERE libtypecourrier = '$typecourrier'";
$result6 = mysql_query($query6) or die ("la requete 6 à échoué");
$linetypnocour = mysql_fetch_array($result6);
$notypcour = $linetypnocour[0];
//on insere les champs dans la table courrier
$query5 = "INSERT INTO courrier VALUES (NULL, '".$objet."', '".$chpsrqs."', '".$detenvoi."', '".$numeroexp."', '".$numtypcour."')";
$result5 = mysql_query($query5) or die("La requete 5 à échouer");
le message d'erreur est tres explicite: le champ 'activiteexp' n'existe pas dans ta table.
ps:Tu fais bcp de requetes a mon gout.... -
Re-,
Si cela ne fonctionne toujours pas :
Fais un echo de la requete incriminée et copie/colle la dans phpmyadmin.
Il peut s'agir d'un champ mal orthographié. (Il faut respecter la casse sous les systeme UNIX).
Voili, voilou !
Kalamit,
Amis motards, attention à la ligne blanche ! :@) -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
et qu'est ce que tu préconise pour faire moins de requetes? il faut bien que je récupere les numéro vue qu'on ne peut pas les saisir dans le formulaire...
-
Certes, y'a beaucoup de requetes, mais si elles sont necessaires...
Kalamit,
Amis motards, attention à la ligne blanche ! :@) -
ça ne risque pas de marcher ça : {
$query2 = "INSERT INTO expediteur VALUES (NULL, '$nomexp', '$prenexp', '$steexp', '$activiteexp', '$villexp')";
$result2 = mysql_query($query2) or die ("L'insertion à échoué !");
$result1 = mysql_query($query3) or die ("La requete 3 a échoué"); <<-- tu fais appel a une requete qui n'existe pas vue que tu l'a fait sauté !!
}-
-
desole, c moi qui ai saute la query 3 ( vue qu'elle ne servait pas apparemment) et j'ai oublie de corriger :p
Sinon, pour le nombre de requete, je m'affole quand il y en a plus de 3 dans un script. J'ai pas regarde la structure de ses tables ni la pertinence de ses requetes. c'etait juste une remarque comme ca, pour le fun :)
-
-
-
si vous le dites chef !!! moije crayait bien faire !!! c'est à cause de ça que ça marché pas le reste ??
-
et ben j'ai toujours la meme erreur et je ne vois pas pourquoi :
Parse error: parse error in c:\program files\easyphp\www\suivi courrier\insertion.php on line 34
$query1 = "SELECT * FROM expediteur WHERE nomexpediteur = '$nomexp' AND prenexpediteur = '$prenexp' AND steexpediteur = '$steexp' AND villeexpediteur = '$villexp'";
$result1 = mysql_query($query1) or die (mysql_error()); -
c'est bon, j'ai trouvé mon erreur mais j'en ai une autre !
Fatal error: Call to undefined function: mysql_querry() in c:\program files\easyphp\www\suivi courrier\insertion.php on line 54
c'est sur cette requete :
//on récupere le numéro du service (de la table service)
$query5 = "SELECT * FROM service WHERE libservice = '$service'";
$result5 = mysql_querry($query5) or die ("La requete 5 à échoué");
$linenoserv = mysql_fetch_array($result5);
$noserv = $linenoserv[0]; -
-
j'ai encore un erreur : ma requete ne veux pas se faire :
//on récupere le numéro du type de courrier (de la table type courrier)
$query6 = "SELECT * FROM typecourrier WHERE typecourrier = '$typecourrier'";
$result6 = mysql_query($query6) or die ("la requete 6 à échoué");
$linetypnocour = mysql_fetch_array($result6);
$notypcour = $linetypnocour[0];
pourquoi ??? -
je suis arrivé à arrenger ma requete, mais elle ne fonctionne toujours pas, pourtant, je l'ai vérifier plusieurs fois !!!
qu'est-ce qui ne va pas la dedans ???
//on insere les champs dans la table courrier
$query6 = "INSERT INTO courrier (objetcourrier, refnoexpediteur, reftypcourrier, chpsrqs, datenvoi, confidentiel, refnodest, datereception) VALUES ('$objet', '$noexp', '$typecourrier', '$chpsrqs', '$detenvoi', '$confidentiel', '$nodest','$date')";
$result6 = mysql_query($query6) or die("La requete 6 a échoué ! ");
j'ai : la requete 6 a échoué ! -
-
Ah ? Tu as essayé de faire un echo de ta requete et de la copie/collé dans phpmyadmin ?
Fais le ! Tu auras un message d'erreur plus clair.
Kalamit,
Amis motards, attention à la ligne blanche ! :@) -
et bien j'ai ça :
MySQL a répondu: Champ 'reftypcourrier' inconnu dans field list
et pourtant reftypcourrier existe bien dans ma bd !!! -
c'est bon, ça marche !!!!
par contre j'ai un pb de dates ... en fait, elles sont au format : AAAA-MM-JJ alors que je les rentre au format JJ-MM-AAAA comment faut faire pour le mettre au bon format ? -
Salut !
http://www.phpfrance.com/tutorials/index.php?id=54
Kalamit,
Amis motards, attention à la ligne blanche ! :@) -
- 1
- 2
Suivant