Inserer données mysql php echoue !

ben -  
 crick -
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   Statut Membre Dernière intervention   342
 
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
ben
 
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
ben
 
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   Statut Membre Dernière intervention   1
 
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   Statut Membre Dernière intervention   119
 
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
crick
 
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
Yann
 
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   Statut Membre Dernière intervention  
 
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 1382 Date d'inscription   Statut Membre Dernière intervention   176
 
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