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 :

[Dates] Problème avec mon application


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut [Dates] Problème avec mon application
    Bonjour a vous , je vous écris ses quelques lignes pour demander de l'aide par rapport a une application que j'ai modifier , en fait je me suis baser sur les ecris d'un livre en suivant bien les directive mais en l'adaptant a mon gout avec quelque fonction qui me sont propre.
    en fait mon application reste bloquer dans une fonction qui est elle même placer dans une classe , ma class fais plus de 600 lignes donc tous le codes serait inutile.
    je vais soumetre ici simplement la fonction qui pose probleme si vous avez une idée du probleme ce serais sympa .
    Bien entendu je veux bien donner toute l'application pour vous aidez dans la recherche de mon problème qui je vais dire me fais m'arracher les cheveux .
    En fait cette fonction me sert a recuperer la valeurs d'une variable d'ou qu'elle vienne sans modification de la configuration de php en tenant compte des différences de gestion des variables selon la version de php.

    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
    function auto_variable ($nom, $order='gpc'){
    		for ($i=O; $i<strlen($order); $i++){
    			$x = strtoupper(substr($order, $i, 1));
    			if (phpversion() < "4.1.0") {
    				if ($x == 'g' && !isset($valeur)) {
    					$valeur = $GLOBALS['GET_VARS']["$nom"];
    				}
    				if ($x == 'p' && !isset($valeur)) {
    					$valeur = $GLOBALS['POST_VARS']["$nom"];
    				}
    				if ($x == 'c' && !isset($valeur)) {
    					$valeur = $GLOBALS['COOKIE_VARS']["$nom"];
    				}
    				if ($x == 's' && !isset($valeur)) {
    					$valeur = $GLOBALS["$nom"];
    				}
    			}
    			else {
    				if ($x == 'g' && !isset($valeur)) {
    					$valeur = $_GET["$nom"];
    				}
    				if ($x == 'p' && !isset($valeur)) {
    					$valeur = $_POST["$nom"];
    				}
    				if ($x == 'c' && !isset($valeur)) {
    					$valeur = $_COOKIE["$nom"];
    				}
    				if ($x == 's' && !isset($valeur)) {
    					$valeur = $_SERVER["$nom"];
    				}
    			}
    		}
    		return ($valeur);
    	}
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

  2. #2
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 557
    Points
    557
    Par défaut
    Salut,

    je vois déjà un léger soucis à ta boucle for:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for ($i=O; $i<strlen($order); $i++){
    Ca, c'est un O majuscule, ce n'est pas un 0 (zero), alors que ca devrait être le cas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    for ($i=0; $i<strlen($order); $i++){
    Merci à Microsoft pour avoir transformé un métier relativement terne et basé sur une approche bêtement technique et rigoureuse des faits, en challenge quotidien, nécessitant une remise en question permanente à l'échelle du quart d'heure

  3. #3
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    merci a vous je vais tester cela de suite , c'est vrai que mon erreur est très grave lol
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

  4. #4
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    Voila je suis sortis de la boucle , mais maintenant j'ai un autre souçis avec mes requête automatique .

    j'ai ce message d'erreur :

    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
     requete_sql _sql erreur: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 'like 'edito'and langue like 'fr'' at line 1
     
    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\wamp\www\examenfinale\class_tutorial.php on line 614
    requete_sql _sql erreur: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 'fromtut_produits, tut_prd_descriptionwhere 1 and tut_produits.prd_id = tut_' at line 1
    get_produits select*fromtut_produits, tut_prd_descriptionwhere 1 and tut_produits.prd_id = tut_prd_description.prd_id and tut_prd_description.langue like 'fr' and tut_produits.actif=1order bydt_entree descorder bydt_entree desclimit0.4 (
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\wamp\www\examenfinale\class_tutorial.php on line 339
    )
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\examenfinale\class_tutorial.php on line 341
    requete_sql _sql erreur: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 'like 'meta_title'and langue like 'fr'' at line 1
     
    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\wamp\www\examenfinale\class_tutorial.php on line 614
    requete_sql _sql erreur: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 'like 'meta_description'and langue like 'fr'' at line 1
     
    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\wamp\www\examenfinale\class_tutorial.php on line 614
    requete_sql _sql erreur: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 'like 'meta_keywords'and langue like 'fr'' at line 1
     
    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\wamp\www\examenfinale\class_tutorial.php on line 614
    requete_sql _sql erreur: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 'like 'meta_title'and langue like 'fr'' at line 1
     
    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\wamp\www\examenfinale\class_tutorial.php on line 614
    requete_sql _sql erreur: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 'like 'meta_description'and langue like 'fr'' at line 1
     
    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\wamp\www\examenfinale\class_tutorial.php on line 614
    requete_sql _sql erreur: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 'like 'meta_keywords'and langue like 'fr'' at line 1
     
    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\wamp\www\examenfinale\class_tutorial.php on line 614
     requete_sql _sql erreur: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 ''fr' ,now() , '' ,'','')' at line 1
    maj_stats_trafic (base:tutorial)(cde:insert into tut_stats_trafic(langue, date, ip, referer, page)('fr' ,now() , '' ,'',''))(erreur: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 ''fr' ,now() , '' ,'','')' at line 1)
    le code en question est le suivant dans la classe :

    function get_parametre ($cle){
    //--nom de la table
    $tbl = $this->nom_table('parametres');
    $cde = "select valeur from $tbl";
    $cde .= "where code like '$cle'";
    $cde .= "and langue like '$this->langue'";
    $result = $this->requete_sql($this->db, $cde);
    while ($row = mysql_fetch_object($result)) {
    return ($row->valeur);
    }
    return ('');
    }
    la ligne 614 est la boucle while ...
    Est ce un problème dit de majuscule ,minuscule ou mes requêtes sont elles mal interprêter ?
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 24
    Points : 17
    Points
    17
    Par défaut
    Je n'ai pas vérifé, mais le test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (phpversion() < "4.1.0")
    me semble dangereux. Es tu sûr que Php sait comparer les versions sous forme de string ?

  6. #6
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    oui bien sur et si j'ai ecris ceci c'est pour eviter que si mon serveur distant etais anterieur a une version 4.2 (register globals sur on) c'est pour ne pas devoir chercher un serveur sup a 4.3 .
    je veux dire par la que c'est plus question pratique , sa m'evite de dvoir réécrire tous si je veux evoluer vers la 5 par exemple.
    j'ajoute que j'ai ecris ceci aussi pour securiser mes requetes j'ai fais ceci :
    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
     
    /*fonction de protection d'une requête SQL*/
    function quote_smart ($valeur){
    		if (phpversion() < "4.3.0") {
    			$valeur = addslashes($valeur);
    		}
    		else {
    			//----stripslashes
    			if (get_magic_quotes_gpc()) {
    				$valeur = stripslashes($valeur);
    			}
    			//---protection si ce n'est pas un entier
    			if (!is_numeric($valeur)) {
    				$valeur = mysql_real_escape_string($valeur);
    			}
    		}
    		return $valeur;
    	}
    Mais cela ne resous pas les contrainte que j'ai avec mes requêtes comme citer plus haut
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

  7. #7
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 557
    Points
    557
    Par défaut
    Salut,

    lorsque tu concatènes dans ta fonction, tu oublies plein d'espaces, ce qui te donne des requêtes incorrectes...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    function get_parametre ($cle){
    //--nom de la table
    $tbl = $this->nom_table('parametres');
    $cde = "select valeur from $tbl ";
    $cde .= " where code like '$cle' ";
    $cde .= " and langue like '$this->langue' ";
    $result = $this->requete_sql($this->db, $cde);
    while ($row = mysql_fetch_object($result)) {
    return ($row->valeur);
    }
    return ('');
    }
    Ca devrait mieux fonctionner là, déjà.
    NB: tu pouvais voir ca dans les erreurs que tu nous as collées ici, d'ailleurs...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    requete_sql _sql erreur: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 'fromtut_produits, tut_prd_descriptionwhere 1 and tut_produits.prd_id = tut_' at line 1
    Merci à Microsoft pour avoir transformé un métier relativement terne et basé sur une approche bêtement technique et rigoureuse des faits, en challenge quotidien, nécessitant une remise en question permanente à l'échelle du quart d'heure

  8. #8
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Ceci est incorrect :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while ($row = mysql_fetch_object($result)) {
    			return ($row->valeur);
    		}
    		return ('');
    Tu ne peux pas mettre un return dans une boucle : c'est évidemment une mauvaise méthode puisque tu n'arriveras jamais à la deuxième itération.
    Pour ton erreur de syntaxe SQL, il faut toujours mettre or die() à la suite de l'exécution d'une requête : Comment débuter avec MySQL et PHP

  9. #9
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    il est vrai que j'utilise souvent la methode dit classique pour les requêtes mais ici j'ai voulus tester une façon particuliere faut le dire lol.
    dommage que j'ai autant de souçis .

    me reste plus que cette erreur qui est cruciale car mon template s'affiche mais je n'ai tjrs pas de menu ni de contenu ....

    j'ai deux erreurs sql qui bloque tout le systeme .
    ce qui m'embete c'est que ce projet est destinée a presentée au jury de mon ecole a la rentrée et que je n'ai pas encore commencée le panneau d'administration
    je vous poste le projet avec toute la description de la faq officiel de php pour les fonction utilisé ici , je ne demande pas de me faire le travail mais plutot de me mettre un commentaire en desous des deux ligne qui pose probleme avec un petit explicatif pour m'aider a corriger et ainsi m'en apprendre plus .
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

  10. #10
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    S'il s'git d'une erreur SQL ou deux, c'est simple, utilise or die() comme conseillé ici : Comment débuter avec MySQL et PHP
    Cela t'aidera à résoudre le problème assez rapidement.

  11. #11
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    Voila j'ai utilisé or die () pour identifié mon erreur :
    j'obtiens donc ceci :

    1_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 'fromtut_produits, tut_prd_descriptionwhere 1and tut_produits.prd_id = tut_p' at line 1

    mais le fait d'utiliser or die empêche le chargement du template (ce que je pense normal vu que le script est arrêter a ma premiere fonction)

    Corriger moi si je me trompe :

    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
    function Tutorial() {
    		//---connexion a la base de donnée
    		$this->db_link = mysql_connect($this->db_host,$this->db_user, $this->db_pass);
    		if ($this->debug_mode && !$this->db_link){
    			echo '<b>connexion_sql</b>';
    			echo 'erreur:' . mysql_error() . '<br>\n';
    		}
    	}
    	//fonction pour traiter les requêtes sql a la base de donnée
    	//pour cenraliser les appels a la base.
    	function requete_sql ($db , $cde) {
    		$db_selected = mysql_select_db($db, $this->db_link)or die(mysql_error());
    		$result = mysql_query($cde, $this->db_link)or die($db_selected.'_'.mysql_error());
    		if (!$result && $this->debug_mode) {
    			echo '<b> requete_sql _sql</b> erreur:'.mysql_error();
    			echo '<br>';
    		}
    		return ($result);
    	}
    	//fonction retournant le nom d'une table avec son prefixe
    	function nom_table($nom){
    		$nom_complet = $this->tablestart.$nom;
    		return ($nom_complet);
    	}
    Certaine variable sont definie au tout debuts de ma class comme par exemple tablestart qui n'est en fait que le prefixe de mes tables ....
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

  12. #12
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Il manque des espaces dans ta requête...
    Oui, l'objectif d'utiliser or die() est d'arrêter le script afin de savoir où se situe l'erreur. Il ne te reste plus qu'à lire l'erreur et chercher la solution.

  13. #13
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    Comment savoir a quel ligne de mon script je doit corriger cette erreur ????

    Car la ligne la plus ressemblante est celle ci :
    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
    function infos_produit ($prd_id){
    		$tb = array();
    		$prd_id = intval($prd_id);
    		if (!$prd_id) return ($tb);
    		//--tables utilisées
    		$tbl_produits = $this->nom_table('produits');
    		$tbl_descriptif = $this->nom_table('prd_description');
    		$cde = "select * from $tbl_produits, $tbl_descriptif";
    		$cde .= "where 1";
    		$cde .= "and $tbl_produits.prd_id=$prd_id";
    		$cde .= "and $tbl_produits.prd_id=$tbl_descriptif.prd_id";
    		$cde .= "and $tbl_descriptif.langue='$this->langue'";
    		$result = $this->requete_sql($this->db, $cde);
    		if ($this->debug_mode && !$result) {
    			echo "<b>infos_produit</b>";
    			echo "$cde (erreur:";
    			echo mysql_error() . ")<br>";
    		}
    		$tb = mysql_fetch_array($result, MYSQL_ASSOC);
    		return ($tb);
    	}
    Sans aucune certitude car trouver la ligne ou il manque un espace sans le numero de ligne c'est
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

  14. #14
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Concatène __LINE__ au message dans le die().

  15. #15
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    J'ai corrigé l'erreur de la ligne incriminé mais maintenant en voila une autre :

    1_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 'tut_produits.prd_id = tut_prd_description.prd_idand tut_prd_description.langue l' at line 239

    En fait j'ai corriger pas mal d'erreur d'ecriture , d'espace dans les requetes mais ici c'est encore un espace sauf que je ne vois pas trop .
    La fonction incriminé est la suivante :

    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
    function infos_produit ($prd_id){
    		$tb = array();
    		$prd_id = intval($prd_id);
    		if (!$prd_id) return ($tb);
    		//--tables utilisées
    		$tbl_produits = $this->nom_table('produits');
    		$tbl_descriptif = $this->nom_table('prd_description');
    		$cde = "select * from $tbl_produits, $tbl_descriptif";
    		$cde .= " where 1";
    		$cde .= " and $tbl_produits.prd_id = $prd_id";
    		$cde .= " and $tbl_produits.prd_id = $tbl_descriptif.prd_id";
    		$cde .= " and $tbl_descriptif.langue='$this->langue'";
    		$result = $this->requete_sql($this->db, $cde);
    		if ($this->debug_mode && !$result) {
    			echo "<b>infos_produit</b> $cde (erreur:";
    			echo mysql_error().")<br>";
    		}
    		$tb = mysql_fetch_array($result, MYSQL_ASSOC);
    		return ($tb);
    	}
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

  16. #16
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Un conseil d'ami : écris les mots clefs du langage SQL en majuscules, tu trouveras ton erreur. Au passage, applique ce conseil à toutes tes requêtes : elles seront bien plus lisibles.

  17. #17
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut toujours le même probleme
    J'ai verifier ligne par ligne et je ne trouve pas ou est mon erreur .
    c'est vraiment casse tête lol .
    j'ai toujours cette erreur a la ligne 239 qui est citer ici plus haut .
    j'aurai peut etre du ecrire differement je ne sais plus quoi
    ceci dit j'ai suivis votre conseils pour mes requêtes et je les ai modifier :

    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
    function infos_produit ($prd_id){
    		$tb = array();
    		$prd_id = intval($prd_id);
    		if (!$prd_id) return ($tb);
    		//--tables utilisées
    		$tbl_produits = $this->nom_table('produits');
    		$tbl_descriptif = $this->nom_table('prd_description');
    		$cde = "SELECT * FROM $tbl_produits, $tbl_descriptif";
    		$cde .= " WHERE 1";
    		$cde .= " AND $tbl_produits.prd_id = $prd_id";
    		$cde .= " AND $tbl_produits.prd_id = $tbl_descriptif.prd_id";
    		$cde .= " AND $tbl_descriptif.langue='$this->langue'";
    		$result = $this->requete_sql($this->db, $cde)or die($result.'_'.mysql_error().__LINE__) ;
    		if ($this->debug_mode && !$result){
    			echo "<b>infos_produit</b> $cde (erreur:";
    			echo mysql_error().__LINE__.")<br>";
    		}
    		$tb = mysql_fetch_array($result, MYSQL_ASSOC);
    		return ($tb);
    	}
    mais j'ai toujours ce foutus message :

    1_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 'tut_produits.prd_id = tut_prd_description.prd_idAND tut_prd_description.langue L' at line 239
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

Discussions similaires

  1. Problème avec mon application Soundboard
    Par jule700 dans le forum Android
    Réponses: 2
    Dernier message: 03/03/2014, 11h10
  2. Problème avec mon application
    Par kazylax dans le forum C#
    Réponses: 3
    Dernier message: 31/10/2012, 15h42
  3. probléme avec mon GUI Application
    Par lisco dans le forum Qt
    Réponses: 8
    Dernier message: 26/06/2009, 16h19
  4. Problème d'execution avec mon application
    Par jfdmagic dans le forum Installation, Déploiement et Sécurité
    Réponses: 9
    Dernier message: 29/05/2009, 13h23
  5. [MySQL] problème avec mon application de recherche php/mysql
    Par cuisto44000 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/06/2008, 03h01

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