Php requête préparée n'affiche message erreur

Fermé
ANTHURIUMRE - 11 oct. 2010 à 10:20
 ANTHURIUMRE - 11 oct. 2010 à 18:47
Bonjour,

J'étudie le php actuellement et le code "requête préparé" sitôt que je clique sur le nom de fichier dans le dossier www d'easyphp m'affhice cette information :

Notice: Undefined index: possesseur in C:\Program Files\EasyPHP-5.3.2i\www\selection_jeux.php on line 19

Notice: Undefined index: prix_max in C:\Program Files\EasyPHP-5.3.2i\www\selection_jeux.php on line 19

Je ne suis pas très intelligent quelqu'un pourrait m'aider s'il vous plaît ? Voici ci-dessous le code concerné :


<html>
<head><title></title></head>
<body>
<?php
try
{
	// On se connecte à MySQL
	$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
}
catch(Exception $e)
{
	// En cas d'erreur, on affiche un message et on arrête tout
        die('Erreur : '.$e->getMessage());
}

// Requête préparée

$req = $bdd->prepare('SELECT nom, prix FROM jeux_video WHERE possesseur = ? AND prix <= ? ORDER BY prix');
$req->execute(array($_GET['possesseur'], $_GET['prix_max'])); LIGNE 19
echo '<ul>';

while ($donnees = $req->fetch())





{
echo '<li>' .$donnees['nom']. '('.$Donnees['prix']. 'EUR)</li>';
}
echo'</ul>';




$req->closeCursor();
?>



</body>
</html>


A voir également:

1 réponse

Salut

tu récupère les infos en GET, ça veut dire que les valeurs de possesseur et prix_max doivent être contenus dans l'URL :

mapage.php?possesseur=robert&prix_max=2
1
ANTHURIUMRE
11 oct. 2010 à 11:17
Salut Francis j'ai déjà fait ce que tu me proposes et ça marche nonobstant qu'il laisse apparaître des messages d'erreur. On me dit qu'il faut faire appel à la fonction isset mais je ne sais où la mettre et comment la faire intervenir ? Pourrais-tu me guider ? Merci.
0
bah tu fais
if(!isset($_GET["possesseur"]))
echo "possesseur pas connu";

si ça t'affiche "possesseur pas connu", bah tu sais que ton problème vient du fait que $_GET["possesseur"] existe pas
0
ANTHURIUMRE
11 oct. 2010 à 11:53
Voici ce que j'ai fait tout en suivant tes conseil et les conseil des autres :
if (isset($_GET['possesseur'],$_GET['prix_max']) AND !empty($_GET['possesseur']) AND !empty($_GET['prix_max']))
Maintenant je n'ai plus d'erreur mais la page n'affiche plus rien. Aucune donnée ne m'est retournée de ma base. Snif ! Merci quand même Francis.
0
if (isset($_GET['possesseur'] && isset($_GET['prix_max']) && !empty($_GET['possesseur']) && !empty($_GET['prix_max']))
ça marche mieu ?
0
ANTHURIUMRE
11 oct. 2010 à 13:53
En y mettant le code que tu me propose easyphp m'affiche :

Parse error: syntax error, unexpected T_BOOLEAN_AND, expecting ',' or ')' in C:\Program Files\EasyPHP-5.3.2i\www\selection_jeux.php on line 6

Merci pour ton aide Francis
0