Trouver l'erreur
maevien
-
maevien Messages postés 19 Date d'inscription Statut Membre Dernière intervention -
maevien Messages postés 19 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un souci avec mon formulaire mais l'erreur dois se trouver dans cette requête:
j'ai un souci avec mon formulaire mais l'erreur dois se trouver dans cette requête:
$requete="INSERT INTO ecolesTO (id,nomRedac,prenomRedac,emailRedac,telRedac,adresseRedac,villeRedac,siteRedac,posteRedac,svp vous y voyez une erreur car j'ai beau regardé je n'ai rien trouvé.
nomEcol,denomination,statut,ville,adresseEtabl,datecreation,slogan,nbretud,sitecol,standard,fax,mailsec,
mailinscr,descecole,image,videopresentation,formationdispens,diplomedelivr,programmeniveau,programmespecialite,
certifEcole,certifDiplome,inscription,mensualite,ecolePartenaire,entreprisePartenaire,taux,nomME,prenomME,
formationSuiviME,niveauME,diplomeME,descriptionME,descriparcourME,photoME,moyenneME,themememoireME,
sujetmemoireME,memoireME)
VALUES('','$Nomr','$Prenomr','$Emailr','$Telephoner','$Adresser','$Viller','$Siter',
$Poster','$NomEcol','$DenominationEcol','$Statut','$VillEcol','$AdressEcol','$Datecreation','$Slogan',
'$Nbretudiant','$SitEcol','$Standard','$FaxEcol','$MailSecr','$MailInscr','$DescrEcol','$Image',
'$Videopr','$FormationDis','$DiplomeDeliv','$ProgrNiveau','$ProgrSpeci','$CertifEcol','$CertifDipl',
'$Inscription','$Mensualite','$EcolPart','$EsePart','$Tauxr','$Nomeilleur','$Prenomeilleur',
'$FormationSuivi','$Niveaumeilleur','$Diplomeilleur','$Descripelev','$Descriparcour','$Photomeilleur',
'$Moyennemeilleur','$Themememo','$Sujetmemo','$Memonline')";
A voir également:
- Trouver l'erreur
- Trouver adresse mac - Guide
- Comment trouver le mot de passe wifi sur son téléphone - Guide
- Ou trouver l'adresse ip - Guide
- Trouver un film sans le titre - Télécharger - Divers TV & Vidéo
- Trouver mon adresse exacte - Guide
7 réponses
Il y a donc un problème dans l'exécution de la requête.
Pour voir la cause de l'erreur, modifie la ligne :
Pour voir la cause de l'erreur, modifie la ligne :
$rs = @mysql_query($sql, $link) ;et mets à la place (provisoirement) :
$rs = mysql_query($sql, $link) or die (mysql_error());
maevien
Messages postés
19
Date d'inscription
Statut
Membre
Dernière intervention
merci le père finalement j'ai vu l'erreur une faute de frappe dans la requête.
Salut, sans aller plus loin j'imagine que vous connaissez comment marche un INSERT SQL?
Sinon vous avez la description ici:
http://sql.sh/cours/insert-into
L'autre chose que je peut remarquer c'est que l'analyse de vos tables de données à l'air fausse. Une table doit regrouper en une entité les données de même type, il faudrait donc faire plusieurs tables dites jointes ou liées pour séparer les entités(qui sont différentes): rédaction, école(les coordonnées), écoles(la présentation et les diplômes/services disponibles).
Cela en plus de faire un programme qui sera fonctionnel et éviteras les erreurs et lenteurs de traitement comme la lourdeur du développement vous assureras des requêtes lisible et facile à corriger.
Bon ceci dit ça concernne la partie analyse qui est primordiale et semble ne pas avoir été faite mais ne devrait pas influer sur la justesse de votre requête.
Vu que c'est du PHP vous pouvez ajouter un or die(qui arrêtera le programme en cas d'échec ou erreur de la requête) ainsi que de l'adjonction de l'affichage de l'erreur incriminée qui indique souvent d'où vient le problème.
Voici un exemple de syntaxe à utiliser.
En outre la syntaxe que vous utilisez si elle juste est périmée; les requêtes sont actuellement(pour peu que vous utilisiez une version de PHP suffisament à jour) en utilisant le PDO qui est une syntaxe objet devenue plus commune car plus pratique.
L'équivalent de or die et mysql_error dans cette syntaxe en objet:
http://www.alsacreations.com/tuto/lire/676-gestion-erreurs-mysql-php-or-die.html
Une autre manière encore plus simple (mais qui sera beaucoup plus simple à déterminer si vus avez l'affichage de l'erreur directement est simplement d'afficher la valeur de chaque variable php à insérer par le biais d'un printr ou d'un echo, le problème pouvant venir du programme en amont et de l'attribution(ou la non attribution justement) d'une valeur correcte pour la variable concernée.
Alors si c'est pour trouver l'erreur pour vous c'est clairement non mais vous avez maintenant les outils pour la trouver vous même.
Sinon vous avez la description ici:
http://sql.sh/cours/insert-into
L'autre chose que je peut remarquer c'est que l'analyse de vos tables de données à l'air fausse. Une table doit regrouper en une entité les données de même type, il faudrait donc faire plusieurs tables dites jointes ou liées pour séparer les entités(qui sont différentes): rédaction, école(les coordonnées), écoles(la présentation et les diplômes/services disponibles).
Cela en plus de faire un programme qui sera fonctionnel et éviteras les erreurs et lenteurs de traitement comme la lourdeur du développement vous assureras des requêtes lisible et facile à corriger.
Bon ceci dit ça concernne la partie analyse qui est primordiale et semble ne pas avoir été faite mais ne devrait pas influer sur la justesse de votre requête.
Vu que c'est du PHP vous pouvez ajouter un or die(qui arrêtera le programme en cas d'échec ou erreur de la requête) ainsi que de l'adjonction de l'affichage de l'erreur incriminée qui indique souvent d'où vient le problème.
Voici un exemple de syntaxe à utiliser.
En outre la syntaxe que vous utilisez si elle juste est périmée; les requêtes sont actuellement(pour peu que vous utilisiez une version de PHP suffisament à jour) en utilisant le PDO qui est une syntaxe objet devenue plus commune car plus pratique.
L'équivalent de or die et mysql_error dans cette syntaxe en objet:
http://www.alsacreations.com/tuto/lire/676-gestion-erreurs-mysql-php-or-die.html
Une autre manière encore plus simple (mais qui sera beaucoup plus simple à déterminer si vus avez l'affichage de l'erreur directement est simplement d'afficher la valeur de chaque variable php à insérer par le biais d'un printr ou d'un echo, le problème pouvant venir du programme en amont et de l'attribution(ou la non attribution justement) d'une valeur correcte pour la variable concernée.
Alors si c'est pour trouver l'erreur pour vous c'est clairement non mais vous avez maintenant les outils pour la trouver vous même.
il faudrait déjà essayer de concaténer les variables :
remplacer toutes les variables values :
par
remplacer toutes les variables values :
'$Nomr'
par
'".$Nomr."'
Bonjour
j'ai un souci avec mon formulaire
Quel souci ?
Un message d'erreur ? Ou seulement l'insertion qui ne se fait pas ?
Peux-tu montrer la ligne de code qui exécute la requête ?
j'ai un souci avec mon formulaire
Quel souci ?
Un message d'erreur ? Ou seulement l'insertion qui ne se fait pas ?
Peux-tu montrer la ligne de code qui exécute la requête ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
j'ai fait ceci :
$link = @mysql_connect('$server','$user','$pwd');
if (!$link)
{
echo 'echec connexion au serveur ';
}
else
{
if (!@mysql_select_db('$db', $link))
{
echo 'échec connexion à la base de donnée ';
}
else
{
$sql = "INSERT INTO ecolesTO (id,nomRedac,prenomRedac,emailRedac,telRedac,adresseRedac,villeRedac,siteRedac,posteRedac,
nomEcol,denomination,statut,ville,adresseEtabl,datecreation,slogan,nbretud,sitecol,standard,fax,mailsec,
mailinscr,descecole,image,videopresentation,formationdispens,diplomedelivr,programmeniveau,programmespecialite,
certifEcole,certifDiplome,inscription,mensualite,ecolePartenaire,entreprisePartenaire,taux,nomME,prenomME,
formationSuiviME,niveauME,diplomeME,descriptionME,descriparcourME,photoME,moyenneME,themememoireME,
sujetmemoireME,memoireME)
VALUES('','$Nomr','$Prenomr','$Emailr','$Telephoner','$Adresser','$Viller','$Siter','$Poster','$NomEcol','$DenominationEcol','$Statut','$VillEcol','$AdressEcol',
'$Datecreation','$Slogan','$Nbretudiant','$SitEcol','$Standard','$FaxEcol','$MailSecr','$MailInscr','$DescrEcol','$Image',
'$Videopr','$FormationDis','$DiplomeDeliv','$ProgrNiveau','$ProgrSpeci','$CertifEcol','$CertifDipl','$Inscription','$Mensualite','$EcolPart','$EsePart',
'$Tauxr','$Nomeilleur','$Prenomeilleur','$FormationSuivi','$Niveaumeilleur','$Diplomeilleur','$Descripelev','$Descriparcour','$Photomeilleur',
'$Moyennemeilleur','$Themememo','$Sujetmemo','$Memonline')";
$rs = @mysql_query($sql, $link) ;
if (!$rs)
echo 'enregistrement non effectué';
else
echo 'enregistrement effectué';
}
} mais pas de changement
$link = @mysql_connect('$server','$user','$pwd');
if (!$link)
{
echo 'echec connexion au serveur ';
}
else
{
if (!@mysql_select_db('$db', $link))
{
echo 'échec connexion à la base de donnée ';
}
else
{
$sql = "INSERT INTO ecolesTO (id,nomRedac,prenomRedac,emailRedac,telRedac,adresseRedac,villeRedac,siteRedac,posteRedac,
nomEcol,denomination,statut,ville,adresseEtabl,datecreation,slogan,nbretud,sitecol,standard,fax,mailsec,
mailinscr,descecole,image,videopresentation,formationdispens,diplomedelivr,programmeniveau,programmespecialite,
certifEcole,certifDiplome,inscription,mensualite,ecolePartenaire,entreprisePartenaire,taux,nomME,prenomME,
formationSuiviME,niveauME,diplomeME,descriptionME,descriparcourME,photoME,moyenneME,themememoireME,
sujetmemoireME,memoireME)
VALUES('','$Nomr','$Prenomr','$Emailr','$Telephoner','$Adresser','$Viller','$Siter','$Poster','$NomEcol','$DenominationEcol','$Statut','$VillEcol','$AdressEcol',
'$Datecreation','$Slogan','$Nbretudiant','$SitEcol','$Standard','$FaxEcol','$MailSecr','$MailInscr','$DescrEcol','$Image',
'$Videopr','$FormationDis','$DiplomeDeliv','$ProgrNiveau','$ProgrSpeci','$CertifEcol','$CertifDipl','$Inscription','$Mensualite','$EcolPart','$EsePart',
'$Tauxr','$Nomeilleur','$Prenomeilleur','$FormationSuivi','$Niveaumeilleur','$Diplomeilleur','$Descripelev','$Descriparcour','$Photomeilleur',
'$Moyennemeilleur','$Themememo','$Sujetmemo','$Memonline')";
$rs = @mysql_query($sql, $link) ;
if (!$rs)
echo 'enregistrement non effectué';
else
echo 'enregistrement effectué';
}
} mais pas de changement