8797 sujets

Développement web côté serveur, CMS

salut à tous,
voici mon problème : au lieu de m'afficher le résultat de ma reqête sql il m'affiche ma requête.

<?php
$pastis51_70cl = ('SELECT libelle FROM `produit` WHERE prd_id =44');
$req = mysql_query($pastis51_70cl);

<a href="panier.php?action=ajout&amp;l=<?php echo $pastis51_70cl; ?>&amp;q=1&amp;p=18" onclick="window.open(this.href, '',
'toolbar=no, location=no, directories=no, status=yes, scrollbars=yes, resizable=yes, copyhistory=no, width=600, height=350'); return false;"><input type="button" name="formule" value="Ajouter au panier"></a>
?>

j'ai vérifié ma requête est bonne, elle fonctionne sous phpMyAdmin
Modifié par volcomboy62 (25 Feb 2011 - 16:43)
Salut,

Dans ton code, tu fais ça :
$pastis51_70cl = ('SELECT libelle FROM `produit` WHERE prd_id =44');
echo $pastis51_70cl;
Et PHP fait exactement ce qu'il est censé faire, il affiche le contenu de la variable $pastis51_70cl.
Oui, et c'est normal. mysql_query retourne une ressource, via laquelle tu peux récupérer les résultats en utilisant mysql_fetch_assoc, mysql_fetch_row ou mysql_fetch_object...

Voir la doc de PHP pour l'utilisation de ces fonctions.
pourtant sur le site du zero il font comme sa :

$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())
{
?>
<p>
<strong>Jeu</strong> : <?php echo $donnees['nom']; ?><br />

donc moi si je fait comme sa cela peut marcher non ?
$requete = ('select libelle from produit where prd_id = 44');
$reponse = $requete->fetch();
echo $reponse;
j'ai trouvé !! ^^
finalement j'ai fait comme sa :

$sql = ('select libelle from produit where prd_id = 44');
$req = mysql_query($sql);
$data = mysql_fetch_array($req);
mysql_free_result ($req);
mysql_close ();

echo $data['libelle'];


merci de votre aide cela ma mis sur la piste
Sinon, plutôt que de régresser (car passer de PDO à l'API mysql_*), tu peux aussi analyser un peu plus le souci et la technique. Ici, ton souci provient du fait que:

- tu as manipulé une ressource de résultat comme un type objet/array/string (rayez les mentions inutiles)
- tu as copié/collé un code sans comprendre sur quoi il se basait

Je te conseille très vivement de t'intéresser à PDO si tu comptes bien utiliser des raccourcis d'écriture et tenir ton code à jour.