Probleme insertion variable dans requette sql
hibou
-
hibou -
hibou -
Bonjour,
Pourquoi ai-je cette erreur?
Fatal error: Call to a member function fetch() on a non-object in /Users/az/Sites/blog/script/originefoto.php on line 39
Voici le code:
j'ai egalement aissayé comme ça:
la ligne 39 c'est celle ou il y a le while
la seule chose qui marche c'est quand j'inscris directement le contenu de la variable comme ceci:
Il y a aussi autre chose de bizarre, normalement ma variable $_GET s'intitule
$_GET['billet'], hors pour la récupérer, je suis obligé de l'appeler ainsi $_GET['billet_']
sinon j'ai une erreur m'indiquant que ma variable n'existe pas.
Pourquoi ai-je cette erreur?
Fatal error: Call to a member function fetch() on a non-object in /Users/az/Sites/blog/script/originefoto.php on line 39
Voici le code:
<?php
$im = $_GET['billet_'];
echo $im;
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '. $e->getMessage());
}
$req = $bdd->query("SELECT nom, emplacement
FROM images
WHERE sujet = ".$im."");
while ($donnees = $req->fetch())
{
echo "<img src ='".$donnees['emplacement'].$donnees['nom']."'/>";
}
?>
j'ai egalement aissayé comme ça:
<?php
$im = $_GET['billet_'];
echo $im;
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '. $e->getMessage());
}
$req = $bdd->query('SELECT nom, emplacement
FROM images
WHERE sujet = '.$im.'');
while ($donnees = $req->fetch())
{
echo "<img src ='".$donnees['emplacement'].$donnees['nom']."'/>";
}
?>
la ligne 39 c'est celle ou il y a le while
la seule chose qui marche c'est quand j'inscris directement le contenu de la variable comme ceci:
<?php
$im = $_GET['billet_'];
echo $im;
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '. $e->getMessage());
}
$req = $bdd->query("SELECT nom, emplacement
FROM images
WHERE sujet = 'dfvfv'");
while ($donnees = $req->fetch())
{
echo "<img src ='".$donnees['emplacement'].$donnees['nom']."'/>";
}
?>
Il y a aussi autre chose de bizarre, normalement ma variable $_GET s'intitule
$_GET['billet'], hors pour la récupérer, je suis obligé de l'appeler ainsi $_GET['billet_']
sinon j'ai une erreur m'indiquant que ma variable n'existe pas.
6 réponses
-
slt
tu as essayé ça:
WHERE sujet = '$im'"); -
bonjour, merci pour la réponse. J'ai essayé comme ça mais ça ne fonctionne pas non plus .
c'est bizarre, je ne comprend pas pourquoi ça ne fonctionne pas, ni pourquoi je suis obliger d'appeler ma viarible GET $_GET['billet_'] alors que je l'ai construit comme ceci:<div onclick="location='originefoto.php?billet = <?php echo $_GET['billet'];?>'"><?php
ce qui devrait normalement donner $_GET['billet'] -
enleve l'espace peut être !
?billet =<?php -
Bon enlever les espaces ne change rien. J'ai donc essayé avec une condition:
<?php $im = $_GET['image_']; echo $im; try { $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', ''); } catch(Exception $e) { die('Erreur : '. $e->getMessage()); } $req = $bdd->query('SELECT nom, sujet, emplacement FROM images '); while ($donnees = $req->fetch()) { if($donnees['sujet']) == $im { echo "<img src ='".$donnees['emplacement'].$donnees['nom']."'/>"; } } ?>
ce qui me renvoie l'erreur suivante:
Parse error: syntax error, unexpected '==' (T_IS_EQUAL) in /Users/az/Sites/blog/script/originefoto.php on line 41
la ligne 41 étant celle ou il y a le if-
bon, j'ai vu l'erreur , j'avais écris ça:
if($donnees['sujet']) == $im
alors que normalement, il faut mettre ça:if($donnees['sujet'] == $im)
j'ai femé la ) trop tot
cependant, ça ne résout pas mon probleme.
Voici l'erreur qui est maintenant générée:
Notice: Undefined index: billet_ in /Users/az/Sites/blog/script/originefoto.php on line 23
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
c'est bon, ça marche avec une condition, j'ai juste changé ceci:
$im = $_GET['billet_'];
en ceci$im = $_GET['billet'];
par je ne sais pas pourquoi ça ne fonctionne pas avec le WHERE -
heuuu non en fait ça marche plus, j'ai à nouveau cette erreur
Notice: Undefined index: billet in /Users/az/Sites/blog/script/originefoto.php on line 23
j'y comprend plus rien ça à fonctionné un coup, et maintenant, alors que je n'ai rien changé, ça marche plus