Insertion dans une base de donnee MySQL [Résolu/Fermé]

- - Dernière réponse :  wezn - 25 juin 2010 à 18:17
Bonjour,
s'il vous plait j'ai un problème avec ma requête d'insertion d'enregistrement.
J'ai le message suivant:

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 '))' at line 2



Voici ma base de données crée avec phpMyadmin:
http://www.imagup.com/pics/1277535103.html

et voici mon code:
-------------------------------------------------------------------------------------------------------------------
$categorie="a1";
$marque="a1";
$reference="a1";
$serie="a1";
if (isset($_POST['entre_categorie'])) {$categorie=$_POST['entre_categorie'];}
if (isset($_POST['entre_marque'])) {$marque=$_POST['entre_marque'];}
if (isset($_POST['entre_reference'])) {$reference=$_POST['entre_reference'];}
if (isset($_POST['entre_serie'])) {$serie=$_POST['entre_serie'];}

mysql_connect("localhost","root","");
mysql_select_db("stocky");
$req_insertion="INSERT INTO materiel (categorie, marque, reference, num_serie, en_stock, la_date)
							VALUES('$categorie','$marque','$reference','$serie','1', [COLOR="Red"]TIME()[/COLOR])";
mysql_query($req_insertion) or die(mysql_error());
mysql_close();

-------------------------------------------------------------------------------------------------------------------


j'ai cru que le problème venait de time(), donc j'ai remplacé par une constante, et après exécution la page ne s'affiche plus.

si quelqu'un peut m'aider a résoudre ce proble ou me propose des améliorations plus ca serait vraiment sympa.


.
Afficher la suite 

4 réponses

Messages postés
108
Date d'inscription
mercredi 29 avril 2009
Statut
Membre
Dernière intervention
6 mai 2013
26
0
Merci
bonjour,
déjà, dans ta table, ta date est au format texte, pas pratique pour l'exploiter correctement.
Arpès le message d'erreur de dit que tu as une erreur à la ligne 2.
tu est sûr d'avoir posté le code complet ?
0
Merci
Pour faire un diagnostic par étapes, j'ai taper cette requête à la place de la précédente:
<?php
mysql_connect("localhost","root","");
mysql_select_db("stocky");
$req_insertion="INSERT INTO materiel (categorie) VALUES('sac')";
mysql_query($req_insertion) or die(mysql_error());
mysql_close();
?>

Je m'aperçois alors que l'insertion s'effectue dans la table. mais la page ne s'affiche pas après avoir exécuter la requête (si j'arrive a résoudre ca je pourrais continuer).

Pour la date j'ai changer "Integer" par "Text" juste pour vérification, je veux metre un timestamp.


Voici le code complet de ma page:

<?php
require_once('partie_haut.php');
?>


<h1>Ajout d'un materiel entrant au stock</h1>
<?php
mysql_connect("localhost","root","");
mysql_select_db("stocky");
$req_insertion="INSERT INTO materiel (categorie)
VALUES('sac')";
mysql_query($req_insertion) or die(mysql_error());
mysql_close();
?>


<form method="post" action="M_entrant.php">
<pre>
<span class="champs_entre">Categorie: <select name="entre_categorie">
<option value="" selected></option>
<option>Televiseur</option>
<option>Home cinema</option>
<option>machine à laver</option>
<option>Lave-vaisselle</option>
<option>Refregirateu</option>
<option>micro-onde</option>
</select>
</span>
<span class="champs_entre">Marque: <select name="entre_marque">
<option value="" selected></option>
<option>Novatech</option>
<option>Dinatech</option>
<option>Faratech</option>
</select>
</span>
<span class="champs_entre">Référence: <input type="text" name="entre_reference"></span>
<span class="champs_entre">Numéro de serie: <input type="text" name="entre_serie"></span>
<span class="bouton_entre"><input type="submit" value="Ajouter">
</span>
</span>
</pre>
</form>

<?php
require_once('partie_bas.php');
?>
Messages postés
108
Date d'inscription
mercredi 29 avril 2009
Statut
Membre
Dernière intervention
6 mai 2013
26
0
Merci
tu veux que ta page affiche quoi après l'insertion ?

EDIT : pourquoi une balise color pour la date ? j'ai jamais vu ça o_O
0
Merci
la balise pour la date c'est juste pour ce forum, pour montrer de quoi je parle, mais ca marche pas ici.
En fet je ne veux pas que ma page affiche quelque chose a part ce qu'elle contient.
Mon problème c'est que cette page elle même ne s'affiche pas après la requête (bouton submit), comme si j'entrais un lien d'une page introuvable.
J'ai résolu ce problème en enlevant mysql_close(); mais je pense qu'il faut bien fermer la connexion. donc si t'a une idée
Sinon pour le reste ca a marché, il me reste juste ce point de close().

PS: je suis un débutant donc mon code serait surement plein de faute et mal organisé.