Fatal error: Call to a member function fetch() on string
Bonjour,
Je veux faire un update en pdo avec une requête préparée et utilise le code suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| <?php
session_start();
$_SESSION["idItem"]= "10000";
if(isset($_SESSION["idItem"]))
{
include "connexion.php";
$SQL = "SELECT * FROM `hitsparitems` WHERE `id` = :id ";
try {
$stmt = $pdo->prepare($SQL);
$stmt->bindValue(':id', $_SESSION["idItem"], PDO::PARAM_STR);
if (!$stmt->execute())
{
throw new PDOException('Erreur Execute requete');
}
else
{
while ($row = $SQL->fetch(PDO::FETCH_ASSOC))
{
$hits=$row["hits"];
}
$SQL = $pdo->prepare("UPDATE `hitsparitems` SET hits=:hits, id=:id WHERE id=:id");
$SQL->execute(array(
':id' => $_SESSION['idItem'],
':hits' => $hits+1,
));
}
}
catch (PDOException $pdoE)
{
echo 'PDO Exception: <br/>'.$pdoE->getMessage();
}
}
?> |
Ce message d'erreur pointe la ligne 19, c'est à dire
Code:
while ($row = $SQL->fetch(PDO::FETCH_ASSOC))
.
Un var_dump de $SQL me donne SELECT * FROM `hitsparitems` WHERE `id` = :id et j'en déduis (peut-être à tort) qu'il manque la suite (le bind) mais comment ne pas tout répéter ?
Merci d'avance.