PHP et Base de donnée
Bonjour,
J'ai fait le tour de vos messages et je n'arrive pas toujours pas à résoudre mon soucis alors voilà :
Je souhaite insérer des informations dans une base de données au travers d'un formulaire en html qui utilise la méthode POST
<form method="POST" action="ficheinsertion.php" name="INSERT" enctype="multipart/form-data">
voici le code de ma page ficheinsertion.php :
<?php
// Déclaration des paramètres de connexion c'est-a-dire la machine sur laquelle le script est hébergé
$host = localhost;
$user = xxx;
$bdd = produit;
$passwd = xxx;
$table =$_POST['famille'];
$Envoi = 1;
// Connexion au serveur
mysql_connect($host, $user,$passwd) or die("il y a eu une erreur de connexion au serveur");
// Connexion à la base de donnée
mysql_select_db($bdd) or die("il y a eu une erreur de connexion a la base de donnees");
// Vérification que les champs obligatoires sont remplis et message dans le cas contraire
if (isset($_POST['ref']) && isset($_POST['caracteristiques']) && isset($_POST['designation'])
&& isset($_POST['sousfamille']) && isset($_POST['famille'])) {
// Insertion des données et on écrit un petit message d'erreur si la requête ne se passe pas bien
$sql ="INSERT INTO table(".$_POST['famille'].") VALUES(".$_POST['sousfamille'].", ".$_POST['image'].", ".$_POST['ref'].", ".$_POST['designation'].", ".$_POST['caracteristiques'].", ".$_POST['caracteristiquescomp'].", ".$_POST['infocom'].", ".$_POST['infocomsuite'].")";
mysql_query ($sql) or die ('Erreur SQL ! ligne 699 lors de l'insertion'.$sql.'<br>'.mysql_error());
// Fermeture de la connexion à la base
mysql_close();
$Envoi = 1;
}
else {
$Envoi = 0;
}
if ($Envoi == 0) {
echo("<p><br><br><br><font size=\"6\" color=\"#BD71F7\"><center><strong>Les données ne sont pas enregistrées - veuillez renseigner les champs marquè d\'un * ! <a href=\"ficheinsertion.htm\">RETOUR</a></strong></center></p>");
}
if ($Envoi == 1) {
echo("<p><br><br><br><font size=\"6\" color=\"#BD71F7\"><center><strong>Vous venez d\'insérer une nouvelle fiche produit dans la famille : ".$_POST['famille']."<a href=\"index.htm\">RETOUR</a></p></center><br>\n");
}
?>
voilà merci d'avance :o)
J'ai fait le tour de vos messages et je n'arrive pas toujours pas à résoudre mon soucis alors voilà :
Je souhaite insérer des informations dans une base de données au travers d'un formulaire en html qui utilise la méthode POST
<form method="POST" action="ficheinsertion.php" name="INSERT" enctype="multipart/form-data">
voici le code de ma page ficheinsertion.php :
<?php
// Déclaration des paramètres de connexion c'est-a-dire la machine sur laquelle le script est hébergé
$host = localhost;
$user = xxx;
$bdd = produit;
$passwd = xxx;
$table =$_POST['famille'];
$Envoi = 1;
// Connexion au serveur
mysql_connect($host, $user,$passwd) or die("il y a eu une erreur de connexion au serveur");
// Connexion à la base de donnée
mysql_select_db($bdd) or die("il y a eu une erreur de connexion a la base de donnees");
// Vérification que les champs obligatoires sont remplis et message dans le cas contraire
if (isset($_POST['ref']) && isset($_POST['caracteristiques']) && isset($_POST['designation'])
&& isset($_POST['sousfamille']) && isset($_POST['famille'])) {
// Insertion des données et on écrit un petit message d'erreur si la requête ne se passe pas bien
$sql ="INSERT INTO table(".$_POST['famille'].") VALUES(".$_POST['sousfamille'].", ".$_POST['image'].", ".$_POST['ref'].", ".$_POST['designation'].", ".$_POST['caracteristiques'].", ".$_POST['caracteristiquescomp'].", ".$_POST['infocom'].", ".$_POST['infocomsuite'].")";
mysql_query ($sql) or die ('Erreur SQL ! ligne 699 lors de l'insertion'.$sql.'<br>'.mysql_error());
// Fermeture de la connexion à la base
mysql_close();
$Envoi = 1;
}
else {
$Envoi = 0;
}
if ($Envoi == 0) {
echo("<p><br><br><br><font size=\"6\" color=\"#BD71F7\"><center><strong>Les données ne sont pas enregistrées - veuillez renseigner les champs marquè d\'un * ! <a href=\"ficheinsertion.htm\">RETOUR</a></strong></center></p>");
}
if ($Envoi == 1) {
echo("<p><br><br><br><font size=\"6\" color=\"#BD71F7\"><center><strong>Vous venez d\'insérer une nouvelle fiche produit dans la famille : ".$_POST['famille']."<a href=\"index.htm\">RETOUR</a></p></center><br>\n");
}
?>
voilà merci d'avance :o)
Configuration: Windows XP Internet Explorer 8.0
22 réponses
-
bonsoir,
Désolée je n'ai pas pu revenir plutôt... Donc j'ai essayé le code mais rien n'y fait. J'ai aussi nettoyé ma BDD pour être sur que les champs soient au bon format etc..
J'ai aussi essayé d'ajouter les "champs" dans mon code comme ceci :
$sql ="INSERT INTO (".$_POST['famille'].")('sousfamille', 'photo', 'reference', 'designation', 'caracteristique', 'caracteristiquesuite', 'infocommerciale', 'infosuite') VALUES(".$_POST['sousfamille'].", ".$_POST['image'].", ".$_POST['ref'].", ".$_POST['designation'].", ".$_POST['caracteristiques'].", ".$_POST['caracteristiquescomp'].", ".$_POST['infocom'].", ".$_POST['infocomsuite'].")";
mais j'ai toujours une erreur maintenant c'est ça :
Erreur SQL ! ligne 699 lors de l'insertionINSERT INTO table('Terrestre') VALUES('antennes terrestres','','','','','','','')
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'table('Terrestre') VALUES('antennes terrestres','','','','','','
Une idée, une piste, une lumière.....
:o( -
ok ça marche. @ +
-
j'ai utilisé le dernier fichier envoyé mais j'ai encore une erreure mais je me penche dessus et reviens vers toi en fin d'aprem si c'est possible
merci :o) -
bon je te l'ai corrigé normalement.
quand tu as du texte exemple :
echo 'je test l'intevention';
il faut en fait l'écrire :
echo 'je test l\'intevention';
Tu met un anti slash avant les apostrophes dans le cadre d'un texte à afficher.
Je vais prendre un ptit café je reviens -
je vais y arriver tkt po ;-)
-
c'est fait pourvu que tu trouves le lièvre je craque moi !
-
recoucou ;-)
si tu veux je pe regarder si tu m'envoi la page entière stp à raylcool@hotmail.com
merci -
Voici le code qui semble poser soucis :
$sql ="INSERT INTO table(".$_POST['famille'].") VALUES(".$_POST['sousfamille'].", ".$_POST['image'].", ".$_POST['ref'].", ".$_POST['designation'].", ".$_POST['caracteristiques'].", ".$_POST['caracteristiquescomp'].", ".$_POST['infocom'].", ".$_POST['infocomsuite'].")";
J'ai essayé cette forme mais sans succès :
$sql ="INSERT INTO table("'.$_POST['famille'].'") VALUES("'.$_POST['sousfamille'].'", "'.$_POST['image'].'", "'.$_POST['ref'].'", "'.$_POST['designation'].'", "'.$_POST['caracteristiques'].'", "'.$_POST['caracteristiquescomp'].'", "'.$_POST['infocom'].'", "'.$_POST['infocomsuite'].'")";
Merci à Raylcool déjà il a cerné le problème maintenant si il y a des idées je suis preneuse :o) -
Bonjour je suis de retour... Quelqu'un a une idée ???
-
ok bonne nuit
-
j'abandonne pour ce soir je reviendrai demain matin merci :o)
-
que faire ?
-
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\Inetpub\vhosts\xxx.fr\subdomains\rxx\httpdocs\ficheinsertion.php on line 699
la ligne 699
$sql ="INSERT INTO table("'.$_POST['famille'].'") VALUES("'.$_POST['sousfamille'].'", "'.$_POST['image'].'", "'.$_POST['ref'].'", "'.$_POST['designation'].'", "'.$_POST['caracteristiques'].'", "'.$_POST['caracteristiquescomp'].'", "'.$_POST['infocom'].'", "'.$_POST['infocomsuite'].'")"; -
essai ça :
// Insertion des données et on écrit un petit message d'erreur si la requête ne se passe pas bien
$sql ="INSERT INTO table("'.$_POST['famille'].'") VALUES("'.$_POST['sousfamille'].'", "'.$_POST['image'].'", "'.$_POST['ref'].'", "'.$_POST['designation'].'", "'.$_POST['caracteristiques'].'", "'.$_POST['caracteristiquescomp'].'", "'.$_POST['infocom'].'", "'.$_POST['infocomsuite'].'")";
mysql_query ($sql) or die ('Erreur SQL'.$sql.'<br>'.mysql_error());
// Fermeture de la connexion à la base -
ok bon ba le pb il est pas à la ligne 700, c'est tes insertions qui merde je pense (je cherche)
-
ba test ça :
mysql_query ($sql) or die ('Erreur SQL'.mysql_error());
et puis on voit après.-
En mettant mysql_query ($sql) or die ('Erreur SQL'.mysql_error()); en ligne 700
j'ai le résultat suivant :
Erreur SQLYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'table(Terrestre) VALUES(antennes terrestres, , KIOL, MMPS, JDKDO
-
-
je pense aussi à force de copier coller dans tous les sens ! Mais j'ai lu et relu je ne voit pas où il est ce foutu "caractère" qui n'a rien à faire là !!! Bon je ne suis pas une pro non plus :o)
merci de bien vouloir éplucher tout ça pour moi -
test ça pour ta ligne 700 :
mysql_query ($sql) or die ('Erreur SQL'.mysql_error()); -
tu peux me donner la ligne 698, 699, 700, 701 et 702 stp ?
-
Apparament le problème serait que tu as rajouté un caractère qui n'avait rien à foutre là (je cherche)
-
698 // Insertion des données et on écrit un petit message d'erreur si la requête ne se passe pas bien
699 $sql ="INSERT INTO table(".$_POST['famille'].") VALUES(".$_POST['sousfamille'].", ".$_POST['image'].", ".$_POST['ref'].", ".$_POST['designation'].", ".$_POST['caracteristiques'].", ".$_POST['caracteristiquescomp'].", ".$_POST['infocom'].", ".$_POST['infocomsuite'].")";
700 mysql_query ($sql) or die ('Erreur SQL ! ligne 699 lors de l'insertion'.$sql.'<br>'.mysql_error());
701 // Fermeture de la connexion à la base
-
- 1
- 2
Suivant