define("limit",20);
$pdo= new PDO("sqlite:products.db",null,null,[

    PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE=>PDO::FETCH_OBJ
]);
try{

    $pagecurrent=(int)($_GET["p"]??1);
    $offset=($pagecurrent-1)*limit.",".limit;
    $limit="LIMIT $offset"; 

    if(!empty($_GET["q"])){

        $req=$pdo->prepare("SELECT * FROM products WHERE city LIKE:city $limit");
        $req->execute([
            "city"=>("%{$_GET['q']}%")
        ]);

        $sqlreq=$pdo->prepare("SELECT COUNT(*) as value FROM products  WHERE city LIKE:city $limit");
        $sqlreq->execute([
            "city"=>("%{$_GET['q']}%")
        ]);

        }else{

        $req=$pdo->query("SELECT * FROM products $limit");
        $sqlreq=$pdo->query("SELECT COUNT(*) as value FROM products");

    }
    $elements=$req->fetchAll();
    $totale=$sqlreq->fetch()->value;

}catch(PDOException $e){

    echo $e->getMessage();
}
?>```

***salut j'ai besoin d'aide
je ne sais pas pourquoi quoi mais ma deuxième requête préparé $sqlreq me renvoie un bool après le fetch  chaque fois qu'il y a la présence du paramètre q dans l'url .

par contre le code marche à merveille si je remplace $sql res par req  ***

1 réponse


j'ai une erreur Attemp to read "value" on bol