[php+mysql]ecrire dans la base

Résolu/Fermé
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 - 30 mai 2007 à 11:17
 Raphael - 2 mai 2016 à 14:56
bonjour a tous .
voila j'ai recupéré d'un formulaire des infos .
je veux maintenant aller les ecrire dans une base de données mais ca ne marche pas ...
j'ai bien créé un base qui s'appelle qcm et qui contient une table t_gestion_des_donnees .
cette table t_gestion_des données contient les 9 champs a remplir (nom, prenom, date, etc...)
voyez vous un soucis majeur dans mon code ?

/* Constantes de connection
********************************************************************/
define("HOST", "localhost");
define("username", "root");
define("PASSWORD", "cavousregardepas");
define("DATABASE", "qcm.t_gestion_des_donnees");

/* Connection à la base
********************************************************************/
$serveur = mysql_connect (HOST, username, PASSWORD);

/* Sélection de la base
********************************************************************/
mysql_select_db (DATABASE);
if (!$serveur)
{
die('Non connecté : ' . mysql_error());
}
else
{
echo "Enregistrement de votre score dans la base de données...<br />";

$query = "INSERT INTO 't_gestion_des_donnees' VALUES ('','.$nom.','.$prenom.','$date')";
$req = mysql_query($query);
echo "Nom enregistré correctement<br />";
}

a noter : avant le .$nom. dans la requette, il y a 2quotes avec rien entre car il s'agit d'une auto incrementation du champs 'id' donc pas a le remplir .

Voila je suis a l'ecoute de toute suggestion, puisque je debute en bdd .
A voir également:

8 réponses

akyrion3000 Messages postés 542 Date d'inscription dimanche 5 juin 2005 Statut Membre Dernière intervention 16 janvier 2010 165
30 mai 2007 à 11:27
Salut,


qcm.t_gestion_des_donnees


Le nom de la base uniquement est suffisant. Ce n'est pas forcément la raison de l'erreur mais ça allegera le code.

Pourquoi les . '.$nom.' ?

J'utilise ça comme cela :
//requete table HappyHour
$addhappyhour = "INSERT INTO happyhour VALUE('','$id_etablissement','$heure_debut','$heure_fin')";
//execution de la requete
mysql_query($addhappyhour) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
//fermeture de la base
mysql_close(); 
//message de succès
echo '<center>Vos infos ont été enregistrées.</center>';


Autre info, sur ta page de validation ajoute un :
Echo $query;

Pour voir ta requete puis test la sur PHPMyAdmin par exemple.
3
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 143
30 mai 2007 à 11:32
oki doki chef je regarde tout ca :)
0
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 143
30 mai 2007 à 11:37
bon la modif est apportée pour le qcm.t_gestion_des_donnees .
pour les .$variable. c'est modifié aussi .

mais ca ne marche toujours pas .

if (!$serveur)
{
die('Non connecté : ' . mysql_error());
}
else
{
echo "Enregistrement de votre score dans la base de données...<br />";

$query = "INSERT INTO 't_gestion_des_donnees' VALUES ('','$nom','$prenom','$date')";
$req = mysql_query($query);
echo "$query";
mysql_close();
echo "Nom enregistré correctement<br />";
}


résultat :

Enregistrement de votre score dans la base de données...
INSERT INTO 't_gestion_des_donnees' VALUES ('','priou','guillaume','30/05/2007')Nom enregistré correctement


La requette s'affiche bien tout est niquel .
Dans la page mysql ou je vois ma table avec sa liste de champs, impossible de cliquer sur "afficher" car il est grisé .
j'en déduit que rien ne s'est encore ecrit ...
0
akyrion3000 Messages postés 542 Date d'inscription dimanche 5 juin 2005 Statut Membre Dernière intervention 16 janvier 2010 165
30 mai 2007 à 11:42
Et si sur "la page mysql" tu clic sur SQL puis tu entres :

INSERT INTO 't_gestion_des_donnees' VALUES ('','priou','guillaume','30/05/2007')

Résultat ?
0

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

Posez votre question
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 143
30 mai 2007 à 11:48
oups .
effectivement message de merde :

MySQL a répondu:Documentation
#1064 - Erreur de syntaxe pr�s de ''t_gestion_des_donnees' VALUES ('','$nom','$prenom','$date')' � la ligne 1
0
akyrion3000 Messages postés 542 Date d'inscription dimanche 5 juin 2005 Statut Membre Dernière intervention 16 janvier 2010 165
30 mai 2007 à 12:01
Il faut executer le INSERT INTO avec INSERT INTO 't_gestion_des_donnees' VALUES ('','priou','guillaume','30/05/2007')

pas avec $xxx

Sinon le format est faux
0
bezourox Messages postés 729 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 19 janvier 2013 143
30 mai 2007 à 12:12
mouais c'est bon la ca marche mais je capte pas trop pourquoi :

$query = "INSERT INTO `t_gestion_des_donnees` VALUES ('','".$nom."','".$prenom."','".$date."','".$reponse_juste."','".$reponse_fausse."','".$ne_sais_pas."','".$num_reponses_justes."','".$num_reponses_fausses."','".$num_je_ne_sais_pas."')";

Voila cette requete il en veut bien , celle d'avant non , mais pourquoi ... mystere .

Enfin qu'importe le probleme est resolu .
Je te remercie pour t'etre penché sur mon probleme et te souhaite bonne fin de journée :)
0
akyrion3000 Messages postés 542 Date d'inscription dimanche 5 juin 2005 Statut Membre Dernière intervention 16 janvier 2010 165
30 mai 2007 à 13:27
ahhh je savais pas que ta table était écourtée,

En fait pour injecter seulement 3 champs, il faut spécifier les champs exemple :

Table nom - prenom - sexe - age

INSERT INTO table_age (nom, prenom, age) values (Nfamille, Prenom, 4)
0
bonjour,aider moi svp, je n'arrive pas à écrire dans ma base, je recueille les données d'un formulaire que je voudrais enregistrer dans ma base de donnée mais le problème c'est qu'il m'affiche cette erreur:
Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\xampp\htdocs\pseudotrac\insert.php on line 10
à la validation du formulaire (clik sur ok) la page php qui contient le code suivant est appelée:

<?php session_start();
function envoyer()
{ $text=$_POST['comms1'];
$jour=$_POST['jour'];

$sql = "INSERT INTO `bug` VALUES ('', '$text', '$jour')"; // requète sql à exécuter



$result = mysql_query($sql); //envoyer la requête au serveur et écrire dans la base
if( !$result ) // si échec, arrêter le script
die( "Impossible d'exécuter la requête : il ya surement un problème " . mysql_error() );

else echo "votre message a bien été envoyé nous vous recontacterons dans les plus bref delais";
echo " bonjour";
}
?>
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><LINK rel="stylesheet" type="text/css" href="appliattribut.css">
<script language="Javascript" src="jquery-nightly.js" type="text/javascript"></script><!--inclue la librairie jqeury-->
<script language="Javascript" src="applilien.js" type="text/javascript"></script><!--inclu le code source javascript-->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>pseudotractest</title>
</head>
<body>
<br/>
<?php
envoyer(); // appel de la fontion
?>
</body>
</html>

nb: avant cela je me suis déjà connecté au serveur puis à la base (mysql_connect et mysql_select_db) et ça marche. je ne comprend vraiment pas l'erreur et puis en passant faudrait-il que je change le mot de passe pour accéder au serveur ou pas? et si oui comment le faire? j'utilise xampp apache et mysql, phpmyadmin....
merci de bien vouloir me répondre, ça fait deux jours que je galère et que je n'arrive pas à aboutir!
0
C'est très simple, il vous suffit de faire un emulateur d'apache en bash, et ensuite de compiler le plugin suivant : dynmap avec celui là : sourcemod, et votre problème seras réglé !

Bien à vous,
Raphaël Pey
Dévelloppeur chez Mojang.
0