La requête s'affiche a la place du resultat de celle ci [Résolu]

Signaler
Messages postés
74
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
21 février 2012
-
syndrael
Messages postés
2381
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
-
Bonjour,

voila j'excecute une requête :
$cat="SELECT `category_name` 
FROM `j17_virtuemart_categories_fr_fr` 
WHERE `virtuemart_category_id`=(SELECT `category_parent_id` 
                                FROM `j17_virtuemart_category_categories` 
                                where `category_child_id`=$prow->virtuemart_category_id
                               )";
mysql_query($cat) or die ('Erreur SQL !'.$cat.'
'.mysql_error());


et lorsque je souhaite afficher mon résultat :
echo $cat;


voila se que j'obtient dans ma page :
SELECT `category_name` FROM `j17_virtuemart_categories_fr_fr` WHERE `virtuemart_category_id`=(SELECT `category_parent_id` FROM `j17_virtuemart_category_categories` where `category_child_id`=88)

je ne comprend pas pourquoi, j'ai testée dans phpmyadmin et elle fonctionne

merci de vos futurs reponses

7 réponses

Messages postés
2381
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
12
Et ta variables $donnees, elle se crée comment ?
Ou alors j'ai loupé un épisode.. LOL !!
S.
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
260
Bonjour,

La commande echo $cat affiche la requête et non le résultat, il faut que tu créé.

Voilà comment fonctionne l'interrogation d'une base en php (exemple tiré du site du zero)

<?php
try
{
    // On se connecte à MySQL
    $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', $pdo_options);
    
    // On récupère tout le contenu de la table jeux_video
    $reponse = $bdd->query('SELECT * FROM jeux_video');
    
    // On affiche chaque entrée une à une
    while ($donnees = $reponse->fetch())
    {
    ?>
        
        Jeu : <?php echo $donnees['nom']; ?>

        Le possesseur de ce jeu est : <?php echo $donnees['possesseur']; ?>, et il le vend à  <?php echo $donnees['prix']; ?>   euros !

        Ce jeu fonctionne sur <?php echo $donnees['console']; ?> et on peut y jouer à  <?php echo $donnees['nbre_joueurs_max']; ?> au maximum

        <?php echo $donnees['possesseur']; ?> a laissé ses commentaires sur <?php echo $donnees['nom']; ?> : <?php echo    $donnees['commentaires']; ?>
        


    <?php
    }
    
    $reponse->closeCursor(); // Termine le traitement de la requête

}
catch(Exception $e)
{
    // En cas d'erreur précédemment, on affiche un message et on arrête tout
    die('Erreur : '.$e->getMessage());
}


?>

Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
260
Messages postés
74
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
21 février 2012

merci mais cela ne fonctionne pas
avec ma methode
$cat="SELECT `category_name` 
FROM `j17_virtuemart_categories_fr_fr` 
WHERE `virtuemart_category_id`=(SELECT `category_parent_id` 
                                FROM `j17_virtuemart_category_categories` 
                                where `category_child_id`=$prow->virtuemart_category_id
                               )";
$resultat = mysql_query($cat); 
echo $resultat; 


J'obtiens : Resource id #250
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
260
Est ce que tu as fais exactement ce qui était dans l'exemple ou bien as tu fais un truc a peu près pareil mais pas tout à fait ?

Je dirais que tu es dans le deuxième cas. Alors essayes de reprendre en utilisant exactement le même code et ca marchera.

Un script fait ce que tu lui demandes et non pas ce que tu aimerais qu'il fasse.
Messages postés
2381
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
12
Moi sans vouloir te vexer je te dirais qu'au lieu de partir dans des Joomla, VirtueMart etc.. tu devrais te poser un peu et voir les bases de PHP.
- Interroger une base
- Comprendre le résultat
- Afficher le résultat dans une page.
Bon courage.
S.
Messages postés
74
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
21 février 2012

voila le code je n'ai pas de boucle puisque je n'ai qu'un seul resultat a afficher:

$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=nombdd', 'id', 'mdp', $pdo_options);

$reponse = $bdd->query("SELECT `category_name` 
                        FROM `j17_virtuemart_categories_fr_fr` 
                        WHERE `virtuemart_category_id`=(SELECT `category_parent_id` 
                                                        FROM `j17_virtuemart_category_categories` 
                                                        where `category_child_id`='$prow->virtuemart_category_id')");

echo $donnees['category_name'];