Problème en PHP pour une requête SQL

Problème en PHP pour une requête SQL - SQL/NoSQL - Programmation

Marsh Posté le 26-07-2010 à 00:52:47    

Bonjour,  
 
Je dois réaliser une fonction en PHP qui prend en argument une requete SQL et qui renvoie la première colonne des résultats. J'aurais bien essayé de procéder avec la manière classique que je connais, comme dans cet exemple du siteduzero :
 
<?php
try
{
 $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}
 
$req = $bdd->prepare('SELECT nom, prix FROM jeux_video WHERE possesseur = ? AND prix <= ? ORDER BY prix');
$req->execute(array($_GET['possesseur'], $_GET['prix_max']));
 
echo '<ul>';
while ($donnees = $req->fetch())
{
 echo '<li>' . $donnees['nom'] . ' (' . $donnees['prix'] . ' EUR)</li>';
}
echo '</ul>';
 
$req->closeCursor();
 
?>
 
 
MAIS dans ce cas, il faut connaître les noms des champs pour pouvoir parcourir la réponse... Or dans mon cas ça n'est pas possible puisque la requête doit être un string passé en argument, je sais que ce n'est pas très logique mais c'est l'exercice demandé.
 
Il faudrait donc que je puisse parcourir la réponse non pas avec des noms de champs mais un indice classique.
 
Merci d'avance (inutile de préciser que c important...)

Reply

Marsh Posté le 26-07-2010 à 00:52:47   

Reply

Marsh Posté le 26-07-2010 à 08:12:01    


Code :
  1. echo "<ul>";
  2. while($donnee = $req->fetchColumn())
  3.     echo "<li>$donnee</li>";
  4. echo "</ul>";

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed