Insertion dans une base de donnee MySQL

Résolu/Fermé
wezn - 25 juin 2010 à 17:00
 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:
https://www.imagup.com

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.


.
A voir également:

4 réponses

gaetan753 Messages postés 108 Date d'inscription mercredi 29 avril 2009 Statut Membre Dernière intervention 6 mai 2013 31
25 juin 2010 à 17:22
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
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');
?>
0
gaetan753 Messages postés 108 Date d'inscription mercredi 29 avril 2009 Statut Membre Dernière intervention 6 mai 2013 31
Modifié par gaetan753 le 25/06/2010 à 18:04
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
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é.
0