[Réglé] Impossible d'executer la requette!!!!!! Mais comment ça??!!

Impossible d'executer la requette!!!!!! Mais comment ça??!! [Réglé] - PHP - Programmation

Marsh Posté le 14-02-2005 à 21:57:59    

Slt tlmd,
Alors comme c'est indiqué dans le titre j'essaye d'executer ce code mais on me renvoie le rapport d'erreur "impossible d'excuter la requette 1":
mysql_query("INSERT INTO `gal` ( `g_id` , `g_cat` , `g_nom` , `g_mail` , `g_titre` , `g_comment`, `g_note` , `g_nbrvu` , `g_nbrcom` , `g_nbrvot` , `g_date` ) VALUES ( '', '$g_cat', '$g_nom', '$g_mail', '$g_titre', '$g_comment', '0', '0', '0', '0', '$g_date') " )or die("impossible d'excuter la requette 1" );
 
Si vous voulez m'aider, je le souhaite vraiment, vous pouvez tester chez vous et là voici la table à créer:
<?php
require("param.php" );//contient les paramètres pour se connecter à au serveur et selectionner la base  
mysql_query("CREATE TABLE IF NOT EXISTS gal(
 g_id int NOT NULL auto_increment,
 g_cat varchar (20) NOT NULL,
 g_nom varchar (100) NOT NULL,
 g_mail  varchar (100) NOT NULL,
 g_titre varchar (100) NOT NULL,
 g_comment blob NOT NULL,
 g_img varchar (100) NOT NULL,
 g_note int NOT NULL,
 g_nbrvu int NOT NULL,
 g_nbrcom int NOT NULL,
 g_nbrvot int NOT NULL,
 g_date varchar (10) NOT NULL,
 PRIMARY KEY (galerie_id)
);" )or die("impossible de creer la table gal" );
?>
 
là le code du fichier "insert.php":
<?php
require("param.php" );//contient les paramètres pour se connecter à au serveur et selectionner la base  
if(isset($_POST['g_cat']))        $g_cat=$_POST['g_cat'];
if(isset($_POST['g_nom']))       $g_nom=$_POST['g_nom'];
if(isset($_POST['g_mail']))    $g_mail=$_POST['g_mail'];
if(isset($_POST['g_titre']))      $g_titre=$_POST['g_titre'];
if(isset($_POST['g_comment']))      $g_comment=$_POST['g_comment'];
$g_date = date("d/m/Y" );
 
mysql_query("INSERT INTO `galerie` ( `g_id` , `g_cat` , `g_nom` , `g_mail` , `g_titre` , `g_comment`, `g_note` , `g_nbrvu` , `g_nbrcom` , `g_nbrvot` , `g_date` ) VALUES ( '', '$g_cat', '$g_nom', '$g_mail', '$g_titre', '$g_comment', '0', '0', '0', '0', '$g_date') " )or die("impossible d'excuter la requette 1" );
?>
 
la page du formulaire (juste un exemple):
 
<center>
<br>
<form method="post" action="insert.php">
  <input type="text" name="g_nom" size="20"><br>
  <input type="text" name="g_mail" size="20"><br>
  <input type="text" name="g_titre" size="20"><br>
  <input type="text" name="g_comment" size="20"><br>
  <input type="text" name="g_cat" size="20"><br>
  <input type="submit" class='forminput' value="Envoyer" name="submit">
</form>
</center>
 
C'est la première fois que ce problème m'arrive..ça va me rendre fou!!!! Alors SVP aidez moi à le résoudre c'est très urgent svp!!!!! :cry:  
Merci d'avance pour vos réponces


Message édité par FBNKCMaster le 14-02-2005 à 23:28:58
Reply

Marsh Posté le 14-02-2005 à 21:57:59   

Reply

Marsh Posté le 14-02-2005 à 22:01:11    

FBNKCMaster a écrit :

mysql_query("INSERT INTO `gal` ( `g_id` , `g_cat` , `g_nom` , `g_mail` , `g_titre` , `g_comment`, `g_note` , `g_nbrvu` , `g_nbrcom` , `g_nbrvot` , `g_date` ) VALUES ( '', '$g_cat', '$g_nom', '$g_mail', '$g_titre', '$g_comment', '0', '0', '0', '0', '$g_date') " )or die("impossible d'excuter la requette 1" );


 
Est ce bien normale que ce soit vide juste aprés VALUES ( entre les deux guillemets? Pour un NOT NULL c'est étrange. T'a essayé un echo mysql_error(); ?


Message édité par dwogsi le 14-02-2005 à 22:02:53
Reply

Marsh Posté le 14-02-2005 à 22:06:21    

Oui c'est normal puisque c'est auto_increment comme vous pouvez constatez ici "g_id int NOT NULL auto_increment,"
Autre idée?

Reply

Marsh Posté le 14-02-2005 à 22:20:53    

Alors pas d'idée?!!

Reply

Marsh Posté le 14-02-2005 à 22:21:36    

Aucunne suggetions?!!
SVP SOS c'est urgent!!!

Reply

Marsh Posté le 14-02-2005 à 22:27:03    

T'as essayé un echo de la requête et de la passer dans phpmyadmin par exemple ?
 
et perso j'aurais pas mis les ` :)

Reply

Marsh Posté le 14-02-2005 à 22:31:14    

si ton champ est en autoincrement c'est meme pas la peine de le mettre dans ta requete
 
 
aussi, Primary Key(g_id) ca marcherait mieux
 
 
a titre d'info,pour des champs numériques, inutile de mettre des quotes
de meme , les ` ne servent que si tu as un espace dans ton nom de champ, c'est souvent source d'erreur
 
 
j'ai tester, ta requete marche


Message édité par Profil supprimé le 14-02-2005 à 22:35:40
Reply

Marsh Posté le 14-02-2005 à 22:34:39    

Oui j'ai essayé et c'est ça qui me rend fou!!! ça passe sans problème!!!!! pour les "`" ça change rien si j'les enlève en fait j'ai recopié la requête (merci ça m'a fait oublié même comment ça s'écrit lol ;)) après que c'est bien passé dans phpmyadmin..
Merci

Reply

Marsh Posté le 14-02-2005 à 22:35:22    

eviter les espaces, les accents et autres joyeusetés dans les noms de champs SQL ... MySQL les accepte mais ce n'est pas compliant.

Reply

Marsh Posté le 14-02-2005 à 22:37:48    

On peut avoir le code d'erreur dans ce cas ? (vachement pratique les die personnalisés en phase de dev. Surtout quand ils ne veulent rien dire...)

Reply

Marsh Posté le 14-02-2005 à 22:37:48   

Reply

Marsh Posté le 14-02-2005 à 22:47:38    

spike a écrit :

si ton champ est en autoincrement c'est meme pas la peine de le mettre dans ta requete
 
aussi, Primary Key(g_id) ca marcherait mieux
 
a titre d'info,pour des champs numériques, inutile de mettre des quotes
de meme , les ` ne servent que si tu as un espace dans ton nom de champ, c'est souvent source d'erreur
 
j'ai tester, ta requete marche


 
Oui ça "Primary Key(g_id)" j'ai changé et le probleme reste encore :s en fait tu peux me filer le code que t'as testé merci
 

naceroth a écrit :

On peut avoir le code d'erreur dans ce cas ? (vachement pratique les die personnalisés en phase de dev. Surtout quand ils ne veulent rien dire...)


 Oui là chui avec toi..en fait j'obtient rien comme rapport d'erreur lorsque j'enlève le fameux "die"
 
Merci pour vos réponses merci bcp!!

Reply

Marsh Posté le 14-02-2005 à 22:51:07    

Faut pas l'enlever non plus, juste remplacer ton message d'erreur par mysql_error() :)

Reply

Marsh Posté le 14-02-2005 à 23:17:35    

Merci pour vous tous!! Le problème est résolu mnt!! ça marche bien mnt!!
Pour savoir d'où vient le problème voici ce que m'a proposé tucsoufle dans un autre forum..je le remercie encore ici:
if(isset($_POST['g_cat']))
{
    $g_cat=$_POST['g_cat'];
    $g_nom=$_POST['g_nom'];
    $g_mail=$_POST['g_mail'];
    $g_titre=$_POST['g_titre'];
    $g_comment=$_POST['g_comment'];
    $g_date = date("d/m/Y" );
 
mysql_query("INSERT INTO `gal` ( `g_id` , `g_cat` , `g_nom` , `g_mail` , `g_titre` , `g_comment`, `g_note` , `g_nbrvu` , `g_nbrcom` , `g_nbrvot` , `g_date` ) VALUES ( '', '$g_cat', '$g_nom', '$g_mail', '$g_titre', '$g_comment', '0', '0', '0', '0', '$g_date') " )or die("impossible d'excuter la requette 1" );
}
aller merci encore @+

Reply

Marsh Posté le 15-02-2005 à 02:52:27    

j'avais meme pas fais gaffe au reste du script : en effet ca devait executer l'insert avec des valeurs vides(ce qui peut empecher l'execution de l'insert) à chaque affichage de la page et non a la validation du formulaire
 
le milieu(c'est pas la solution qu'on t'as proposé) c'est d'ajouter un champ caché au formulaire, et tu verifie si celui ci existe :  
if(isset($_POST['ton_champ_cache'])) {
  //ton insertion
 
}


Message édité par Profil supprimé le 15-02-2005 à 02:53:06
Reply

Marsh Posté le 15-02-2005 à 18:21:50    

Là c'est encore mieux c'que tu propose, j'vais le faire merci pour l'aide!!@+

Reply

Marsh Posté le 18-02-2005 à 20:45:11    

Oui me voilà encore
Merci tt d'abord pr votre aide. En fait je viens de découvrir d'où vient l'erreur!! Le problème était dans l'insertion d'un texte qui contient des ' alors c'est pour ça que à chaque quand je teste avec mon exemple de texte que ça marche pas; le texte contient un "c'est" d'où alors l'erreur donc j'ai ajouté $g_comment = addslashes("$g_comment" ) avant l'INSERT et ça marche maintenant. Voilà merci encore et @+

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed