Rechercher : dans
Par :

Inserer données mysql php echoue !

Dernière réponse le 29 jan 2009 à 20:42:44 ben, le 28 mai 2006 à 17:11:32 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « inserer données mysql php echoue ! » dans :
Sauvegarde restauration base de données Mysql VoirL'article suivant va présenter la manière la plus facile pour sauvegarder et restaurer les bases de données Mysql. Sauvegarde Pour sauvegarder une base de données existante il est conseillé de créer un dump. Pour dumper toutes les bases de...
Installation rapide de LAMP (Apache+MySql+php) sous Linux VoirLAMP = Linux+Apache+MySql+Php. C'est le serveur web par excellence. L'ensemble est facile à installer. Installation rapide sudo aptitude install apache2 php5 mysql-server php5-mysql libapache2-mod-php5 Le mot de passe administrateur mySQL...
PHP - Bases de données VoirPhp permet un interfaçage très simple avec un grand nombre de bases de données. Lorsqu'une base de données n'est pas directement supportée par Php, il est possible d'utiliser un driver ODBC, pilote standard pour communiquer avec les bases de...
Importer et exporter des données sous MySQL VoirImportation et exportation Les Système de Gestion de Bases de Données tels que MySQL permettent de manipuler facilement et avec beaucoup de souplesse un très important volume de données. Toutefois, aussi robuste soit MySQL, il peut être intéressant...

1

ekra, le 28 mai 2006 à 17:50:56

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 ?

Répondre à ekra

2

ben, le 28 mai 2006 à 19:29:01

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

Répondre à ben

3

ben, le 28 mai 2006 à 19:32:38

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

Répondre à ben

4

cehb, le 29 mai 2006 à 12:17:07

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

Répondre à cehb

5

griese, le 5 jun 2006 à 11:31:21

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 Guten Pruden!!!!
Glüt!!

Répondre à griese

9

 crick, le 29 jan 2009 à 20:42:44

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

Répondre à crick

6

Yann, le 13 jun 2007 à 18:56:38

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

Répondre à Yann

7

kvf300, le 22 jun 2007 à 09:12:26

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

Répondre à kvf300

8

PeJo, le 22 jun 2007 à 09:53:18

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.

Répondre à PeJo