Inserer données mysql php echoue !

Fermé
ben - 28 mai 2006 à 17:11
 crick - 29 janv. 2009 à 20:42
bonjour , pour inserer des données dans ma base de données j ai crée un petit formulaire dans mon site
formulaire.php:
<html>
<head>
<title>saisie des absents</title>
</head>
<body>
pour saisir la liste des absents:<br>
<form method="post" action="insert.php">
som:<input type="text" name="som"><br>
date_absence:<input type="date" name="date_absence"><br>
nom:<input type="text" name="nom"><br>

formateur:<input type="text" name="formateur"><br>
remarque:<input type="text" name="remarque"><br>
<input type="submit" name="submit" value="insérer">
</form>
</body>
</html>
-----------------------------------------------------------------
ensuite un fichier insert.php:
<?php
$connect=mysql_connect("localhost","truc","abracadabra") or die ("erreur de connexion");
mysql_select_db("mabase",$connect) or die("erreur de connexion base");
mysql_query("INSERT INTO absents VALUES(",'$som','$date_absence','$nom','$formateur')");
echo "Vos données ont été envoyées !";
mysql_close();
?>
--------------------------------------------------------------

mais je n arrive pas à inserer des enregistrements , parcontre dans l interface easyphp ça marche tres bien
aidez moi svp y a t il une erreur dans le script ?
merci
A voir également:

5 réponses

ekra Messages postés 1870 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 24 juillet 2014 342
28 mai 2006 à 17:50
Bonjour,

mysql_query("INSERT INTO absents VALUES(",'$som','$date_absence','$nom','$formateur')");


Les variables n'existent pas, il s'agit en fait des $_POST['variable'] qui existent.

Bizarre que sur EasyPHP ça marche non ?
0
merci ekra , sur easy php ça marche car j utilise l interface pour ajouter les données et non pas le script !
en tout cas merci
0
je viens de modifier le code pour recuperer le contenu des variables mais toujours rien voici le nouveau code :
--------------------------------
<?php
$som = $_POST['som'];
$date_absence = $_POST['date_absence'];
$nom = $_POST['nom'];
$formateur = $_POST['formateur'];



$connect=mysql_connect("localhost","mehdi1998","abde450") or die ("erreur de connexion");
mysql_select_db("mehdi1998",$connect) or die("erreur de connexion base");

mysql_query("INSERT INTO absents VALUES(",'$som','$date_absence','$nom','$formateur')");
echo "Vos données ont été envoyées !";
mysql_close();
?>
-----------------------------------------------------------
merci
0
cehb Messages postés 2 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2006 1
29 mai 2006 à 12:17
bonjour,

tu as peut être un pbl au niveau du formatage de tes données.
Le format de contenu dans tes variables POSTEES ne correspond peut être pas à celui attendu dans la table "absents".
Par exemple une chaine de caractère trop longue, ou un pbl de format dans ton champs date

tu peux également obtenir des infos en regardant le fichier error.log qui se trouve dans le répertoire logs, dans le répertoire d'install d'Apache
0
griese Messages postés 139 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 27 février 2008 119
5 juin 2006 à 11:31
Salut,
c'est normal essai ça :
<?php 
$som = $_POST['som']; 
$date_absence = $_POST['date_absence']; 
$nom = $_POST['nom']; 
$formateur = $_POST['formateur']; 



$connect=mysql_connect("localhost","mehdi1998","abde450") or die ("erreur de connexion"); 
mysql_select_db("mehdi1998",$connect) or die("erreur de connexion base"); 

mysql_query("INSERT INTO absents VALUES(",' ".$som." ',' ".$date_absence." ', ".'$nom." ',' ".$formateur." ')"); 
echo "Vos données ont été envoyées !"; 
mysql_close(); 
?>

Avec ça, ça devrait marcher
0
merci beaucoup!
j'arrivais pas à insérer des données dans ma table, et à vous tous vous m'avez permis de m'en sortir!!
ps: mon problème, c'était que j'ecrivais:

$maRequete=mysql_query("INSERT INTO 'TABLE1'('champ1','champ2','champ3') VALUES('".$valeur1."','".$valeur2."','".$valeur3.')");

en supprimant ('champ1','champ2','champ3') , ça marche... allez comprendre...
;p
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour,

J'ai tenté d'adapter vos codes à mes besoins, et il me trouve une erreur à la ligne 23 du fichier en PHP (c'est la ligne qui commence avec mysql_query("INSERT INTO.......


AU SECOURS !!!!!!!



Bref ca me rend dingue, j'suis dessus depuis des jours voici les codes:

mon fichier html nommé annonce4.html

<html>
<head>
<title>saisie des absents</title>
</head>
<body>
pour saisir la liste des absents:<br>
<form method="post" action="envoiannonce.php">
Votre nom:<input TYPE="varchar" name="nom" SIZE="100"><br>
Intitulé du poste:<input TYPE="varchar" name="poste" SIZE="40"><br>
Département:<input TYPE="decimal" name="dep" SIZE="3,0"><br>
Pays:<input TYPE="varchar" name="pays" SIZE="40"><br>
Nom du service:<input TYPE="varchar" name="service" SIZE="40"><br>
Type de contrat:<input TYPE="varchar" name="contratType" SIZE="40"><br>
horraires:<input TYPE="varchar" name="horraire" SIZE="100"><br>

<input type="submit" name="submit" value="insérer">
</form>
</body>
</html>



Et voici le code du PHP nommé envoiannonce.php

<?php
$nom = $_POST['nom'];
$poste = $_POST['poste'];
$dep = $_POST['dep'];
$pays = $_POST['pays'];
$service = $_POST['service'];
$contratType = $_POST['contratType'];
$horraire = $_POST['horraire'];


$connect=mysql_connect("localhost","root","yann0410") or die ("erreur de connexion");
mysql_select_db("mobisante",$connect) or die("erreur de connexion base");

mysql_query("INSERT INTO annonce VALUES(",' ".$nom." ',' ".$poste." ', ".'$dep." ',' ".$pays." ',' ".$service." ',' ".$contratType." ',' ".$horraire." ')");
echo "Vos données ont été envoyées !";
mysql_close();
?>


Est ce que quelqu'un peut m'aider ???

Merci
0
kvf300 Messages postés 13 Date d'inscription jeudi 29 septembre 2005 Statut Membre Dernière intervention 4 juin 2014
22 juin 2007 à 09:12
Bonjour

Je ne sais pas si tu as touvé ton erreur depuis le 13 Juin mais si il te dis qu'il y a une erreur à la ligne 23 cela vient surement de ta première virgule.

Si dans ta table tu as incrémenté ta première colonne, avec un id par exemple, alors:

au lieu de :
mysql_query("INSERT INTO annonce VALUES(",' ".$nom." ',' ".$poste." ', ".'$dep." ',' ".$pays." ',' ".$service." ',' ".$contratType." ',' ".$horraire." ')"); 


Essaye :
mysql_query("INSERT INTO annonce VALUES("",' ".$nom." ',' ".$poste." ', ".'$dep." ',' ".$pays." ',' ".$service." ',' ".$contratType." ',' ".$horraire." ')"); 



Sinon:
au lieu de :
mysql_query("INSERT INTO annonce VALUES(",' ".$nom." ',' ".$poste." ', ".'$dep." ',' ".$pays." ',' ".$service." ',' ".$contratType." ',' ".$horraire." ')"); 


Essaye:
mysql_query("INSERT INTO annonce VALUES(' ".$nom." ',' ".$poste." ', ".'$dep." ',' ".$pays." ',' ".$service." ',' ".$contratType." ',' ".$horraire." ')"); 


En espérant t'avoir aidé si tu n'avais pas trouvé ton erreur.


kvf300
0
PeJo Messages postés 1374 Date d'inscription mardi 14 février 2006 Statut Membre Dernière intervention 17 juin 2008 176
22 juin 2007 à 09:53
Et pourquoi pas tous simplement :

mysql_query("INSERT INTO annonce VALUES(' ','$nom','$poste','$dep','$pays','$service','$contratType','$horraire')");
Il n'y à pas de concaténation pour les requêtes Mysql même en php donc pas de ". ." .
D'ailleurs si tu regarde bien le code de ben il n'à pas concaténé c'est variables.
Bonne continuations.
0