IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Requête valide mais erreur... [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 26
    Par défaut Requête valide mais erreur...
    Bonjour à tous,
    voilà le fichier d'exécution qui me permet de récupérer les info de mon formulaire, ma requete est correcte pourtant il ne veut pas me l'exécuter et m'affiche donc dans mon naviguateur :

    erreur de requete INSERT INTO t_news (Titr....);


    Lorsque je teste ma requete dans SQL de PHPMYADMIN voilà ce qu'il me dit #1046 - Aucune base n'a été sélectionnée

    voilà mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
     
    <?php
    	//appel au fichier "Connect.php" intégrant les constantes de connexion à la BDD
     
    			require("../connect.php");
     
     
     	//récupération des données du formulaire de la page "Ad_CreationNews"
    			$titrenews=$_POST["titrenews"];
     
    			$dateparution=$_POST["dateparution"];
    			//echo $dateparution."<br>";
     
     
    			$datevalidite=$_POST["datevalidite"];
    			//echo $datevalidite."<br>";
     
     
    			$urlphoto=$_FILES["urlphoto"]["name"];
    			//echo $urlphoto."<br>";
     
    			$hphoto=$_POST["hphoto"];
     
    			$lphoto=$_POST["lphoto"];
     
    			$textphoto=$_POST["textphoto"];
    			//echo $textphoto."<br>";
     
     
    			$textnews=$_POST["textnews"];
    			//SERT AU TEST  echo $textnews."<br>";
     
     
    			$affiche=$_POST["affiche"];
    			//echo $affiche."<br>";
     
     
    	//création de la requete d'insertion de la nouvelle news (Insert Into ...)
     
    		$query = "INSERT INTO t_news (TitreNews,DateValidite,DateParution,UrlPhoto,HPhoto,LPhoto,TextPhoto,TextNews,Affiche) 
    		VALUES('$titrenews','$datevalidite','$dateparution','$urlphoto','$hphoto','$lphoto','$textphoto','$textnews',$affiche);";
     
     
    	//connexion au serveur Mysql
     
    	mysql_connect(SERVEUR,NOM,MDP) or die ("erreur de connection".SERVEUR);
     
    	//selection de la BDD 
     
    	mysql_select_db(BASE) or die ("erreur de connexion à la base de donnée".BASE);
     
    	//exécution de la requete
     
    	mysql_query($query) or die ("erreur de requete ".$query);
     
    	//retour vers la page Ad_CreationNews.php
    	 		//eviter le code html ou echo pour le tester
    	header("location:Ad_CreationNews.php");
     
     
    ?>

  2. #2
    Membre émérite Avatar de sebhm
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    1 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 090
    Par défaut
    essaie d'utiliser la ressource MySQL (parametre optionnel)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    //connexion au serveur Mysql
    $link=mysql_connect(SERVEUR,NOM,MDP) or die ("erreur de connection".SERVEUR);
     
    //selection de la BDD 
    mysql_select_db(BASE, $link) or die ("erreur de connexion à la base de donnée".BASE);
     
    //exécution de la requete
    mysql_query($query, $link) or die ("erreur de requete ".$query);

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 26
    Par défaut
    ça ne marche pas ....

  4. #4
    Membre émérite Avatar de sebhm
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    1 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 090
    Par défaut
    teste avec un select simple pour voir si c'est OK

  5. #5
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Salut,

    hormis, le ';' qui traine dans ta requête, l'erreur ne correspond pas à cela mais à voir

    Sinon, en restant niveau requête comme elle est longue, tu la raccourcis puis si même erreur, nous regarderons le connexion.

    Edit: et le $affiche qui n'est pas entre quote

    Edit: dsl sebhm pour la requête simple, j'avais pas vu

  6. #6
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 815
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par Marcoff Voir le message
    Lorsque je teste ma requete dans SQL de PHPMYADMIN voilà ce qu'il me dit #1046 - Aucune base n'a été sélectionnée
    Il est évident que si tu ne sélectionne pas la base dans phpMyAdmin avant de lancer la requête, tu auras cette erreur.

    erreur de requete INSERT INTO t_news (Titr....);
    Ceci ne nous renseigne malheureusement pas sur l'erreur. Tu devrais afficher en plus mysql_error pour avoir le texte de l'erreur retournée par le serveur.

    voilà mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    <?php
     
        //connexion au serveur Mysql
     
        mysql_connect(SERVEUR,NOM,MDP) or die ("erreur de connection".SERVEUR);
     
        //selection de la BDD 
     
        mysql_select_db(BASE) or die ("erreur de connexion à la base de donnée".BASE);
    ?>
    J'ose espérer que tu as simplement voulu masquer les vrais noms quand tu as publié dans ton message "SERVEUR,NOM,MDP" et surtout plus loin "BASE" ?

    Les vrais noms doivent être mis entre apostrophes ou transmis via des variables préalablement définies.

    Sinon sur la requête, il y a effectivement un point-virgule à supprimer à la fin de la requête. Il est inutile via PHP et peut porter à confusion avec le point-virgule de fin de ligne PHP.

    La variable $Affiche n'étant pas explicitement transformée en entier et obtenue via un champ de formulaire, il est possible qu'il y ait un conflit de type avec celui de la colonne. De quel type est la colonne Affiche ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  7. #7
    Membre émérite Avatar de sebhm
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    1 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 090
    Par défaut
    J'ose espérer que tu as simplement voulu masquer les vrais noms quand tu as publié dans ton message "SERVEUR,NOM,MDP" et surtout plus loin "BASE" ?

    Les vrais noms doivent être mis entre apostrophes ou transmis via des variables préalablement définies.
    et les constantes ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    define('LA_CONSTANTE', 'valeur');

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 26
    Par défaut
    Bonsoir désolé de répondre si tardivement...

    J'ose espérer que tu as simplement voulu masquer les vrais noms quand tu as publié dans ton message "SERVEUR,NOM,MDP" et surtout plus loin "BASE" ?
    Pour me connecter à ma base j'utilise un fichier annexe Connect.php qui contient toutes les informations et qui fonctionne très bien sur d'autres formulaires et pages.

    Edit: et le $affiche qui n'est pas entre quote
    Le affiche est de type Entier il ne nécessite donc logiquement pas de ' ' cela dit j'ai testé sans, et ça ne fonctionne toujours pas...

    teste avec un select simple pour voir si c'est OK
    Je récupère toutes les valeures voila le résultat que je découvre dans mon naviguateur :

    erreur de requete INSERT INTO t_news (TitreNews,DateValidite,DateParution,UrlPhoto,HPhoto,LPhoto,TextPhoto,TextNews,Affiche) VALUES('Test','02/16/2010','07/03/2010','Accueil.jpg','680','500','b,n;,nb;n;','jk;jk;k;j',1);

    Toutes les valeures sont bien récupérées...

  9. #9
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 815
    Billets dans le blog
    14
    Par défaut
    Ceci ne nous donne toujours pas le mysql_error, c'est à dire l'erreur générée par le SGBD.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 26
    Par défaut
    C'est bon il s'agissait d'un problème au niveau du format de la date que j'enregistrais. PHPMYADMIN utilise le format anglais $Y-$m-$d. Merci pour vos réponses.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Requête SQL simple mais erreur
    Par Nesta92 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 14/11/2012, 10h37
  2. Code simple de validation mais il y a une erreur
    Par amerex dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/02/2010, 20h56
  3. [W3C] Encore erreur de validation, mais où ?
    Par jlb59 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 17/03/2008, 10h50
  4. Flux RSS valide mais contient des erreurs
    Par maximenet dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 24/04/2006, 23h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo