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

Langage PHP Discussion :

Erreur dans ma requête et lors de l'appel de ma fonction [PHP 5.2]


Sujet :

Langage PHP

  1. #1
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut Erreur dans ma requête et lors de l'appel de ma fonction
    Bonjour tout le monde,

    Je fais appelle à une fonction pour voir si un champ contient la valeur 0 ou 1.

    Je dois passer trois paramètres à cette fonction.

    1) la requête n'est pas bonne alors que (je pense que) ça devrait l'être :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $cours_cloture = 'SELECT inscrits_en.MNEMONIC,inscrits_en.TYPE_DE_COURS,inscrits_en.CATEGORIE WHERE inscrits_en.ID = '.$LesDonnees['1'];
    l'echo me donne ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT inscrits_en.MNEMONIC,inscrits_en.TYPE_DE_COURS,inscrits_en.CATEGORIE WHERE inscrits_en.ID = 2
    La structure de ma table est la suivante :

    Champ Type Null Défaut Commentaires
    ID int(11) Non
    MATRICULE_ET varchar(255) Non
    MNEMONIC varchar(255) Non
    ANNEE_ACADEMIQUE varchar(255) Non
    CATEGORIE varchar(255) Non
    NOTE text Oui NULL
    DECISION_ANNEE varchar(255) Oui NULL
    SESSION int(11) Non
    TYPE_DE_COURS varchar(255) Non
    Dans PHPMyAdmin, je copie/colle la requête, j'obtiens ce message d'erreur :

    Erreur

    requête SQL: Documentation

    SELECT inscrits_en.MNEMONIC, inscrits_en.TYPE_DE_COURS, inscrits_en.CATEGORIE
    WHERE inscrits_en.ID =2

    MySQL a réponduocumentation
    #1064 - 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 'WHERE inscrits_en.ID = 2' at line 1
    Les messages d'erreurs que j'obtiens sont :

    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\wamp\www\Excel\Import\Dernier\example.php on line 54
    Requete invalide : 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 'WHERE inscrits_en.ID = 2' at line 1
    La ligne 54 est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ($tab_req_cours_cloture = mysql_fetch_assoc($req_cours_cloture))
    Voici une bonne partie du 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
    $cours_cloture = 'SELECT inscrits_en.MNEMONIC,inscrits_en.TYPE_DE_COURS,inscrits_en.CATEGORIE WHERE inscrits_en.ID = '.$LesDonnees['1'];
    								echo $cours_cloture;
    								$req_cours_cloture = mysql_query($cours_cloture);
    								while ($tab_req_cours_cloture = mysql_fetch_assoc($req_cours_cloture))
    									{
    										//je vérifie ici si le cours est clôturé, car autrement, on pourrait mettre à jour un cours via excel même si il est clôturé !!!
    									   if(check_cloture($tab_req_cours_cloture['MNEMONIC'],$tab_req_cours_cloture['TYPE_DE_COURS'],$tab_req_cours_cloture['CATEGORIE'] ) == 0)
    										{
    											$sql = 'UPDATE inscrits_en SET NOTE = ' .$LesDonnees['5'].' WHERE inscrits_en.ID = ' .$LesDonnees['1']; 
    											//je  mets directement a jour la base de données 
    											$result = mysql_query($sql);
    											$ok = false;
    											$compteur_ok +=1;
    											// Vérification du résultat
    											// Ceci montre la requete envoyée a MySQL ainsi que l'erreur. Utile pour déboguer.
    										}
    										else
    										{
    											echo 'cours clôturé !';
    											exit();
    										}
    									}
    						}
    						else
    						{
    							$compteur_pas_ok+=1; //nombre d'enregistrement(s) qui n'ont pas été ajoutés dans la bd
    						}
    Ainsi que le code de ma fonction check_cloture :

    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
    <?php
    function maFonction($MNEMONIC, $TYPE,$CATEGORIE)
    { 
    	session_start();
    	include('../connexion.php');
    	//var_dump($_POST);
     
    	$Desactiver_Bouton_Cloture = "SELECT * FROM `cours` WHERE cours.MNEMONIC = '".$MNEMONIC."' AND cours.TYPE_DE_COURS = '".$TYPE."' AND cours.CATEGORIE = '".$CATEGORIE."'";
     
    	//echo $Desactiver_Bouton_Cloture;
     
    	$query_Desactiver_Bouton_Cloture = mysql_query($Desactiver_Bouton_Cloture);
     
    	$nombre = mysql_num_rows($query_Desactiver_Bouton_Cloture);
     
    	//echo "nombre ".$nombre;
     
     
    	while ($tab = mysql_fetch_array($query_Desactiver_Bouton_Cloture))
    	{
     
    		if($tab['Cloture'] != 1)  
    		{
    			return 1;
    		}
    		else
    		{
    			return 0;	
    		}
     
    	}
    } 
    ?>
    Je vous remercie d'avance pour votre aide.

    beegees

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Points : 585
    Points
    585
    Par défaut
    Salut, ya pas de from dans ta requête

  3. #3
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par billoum Voir le message
    Salut, ya pas de from dans ta requête
    Oui en effet, merci

    reste un problème :

    Fatal error: Call to undefined function check_cloture() in C:\wamp\www\Excel\Import\Dernier\example.php on line 57
    ligne 57 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(check_cloture($tab_req_cours_cloture['MNEMONIC'],$tab_req_cours_cloture['TYPE_DE_COURS'],$tab_req_cours_cloture['CATEGORIE'] ) == 0)
    Encore merci.

    beegees

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Points : 585
    Points
    585
    Par défaut
    Call to undefined function check_cloture()
    ça veut dire qu'il ne reconnait pas la fonction check_cloture () (elle n'est pas définie à cet endroit du code).

  5. #5
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par billoum Voir le message
    ça veut dire qu'il ne reconnait pas la fonction check_cloture () (elle n'est pas définie à cet endroit du code).
    je dois donc mettre le path complet où se trouve la fonction alors ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Points : 585
    Points
    585
    Par défaut
    ben soit tu définis la fonction dans la page contenant l'appel à cette fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function check_cloture(....)
    {
    ....
    }
     
     
    if (check_cloture(.....)...)....
    soit tu inclus le fichier contenant la fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    include 'fichier_contenant_ta_fonction.php'
     
    if (check_cloture(.....)...)....

  7. #7
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Un tout grand merci à toi.

    Tes nombreux conseils m'ont aidé à résoudre mes problèmes.

    Encore merci et bon fin de WE.

    beegees

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/11/2011, 12h01
  2. #Erreur dans une requête avec une fonction personnalisée
    Par pguiheu dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 04/07/2006, 15h45
  3. [MySQL] Erreur dans une requête
    Par sagitarium dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 13/05/2006, 21h38
  4. [MySQL] Erreur dans une requête sql
    Par Goundy dans le forum PHP & Base de données
    Réponses: 37
    Dernier message: 30/01/2006, 16h08
  5. [VBA] Erreur dans une requête
    Par Damsou dans le forum Access
    Réponses: 31
    Dernier message: 21/06/2005, 17h04

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