Page 1 sur 1

erreur sur ma requette

Posté : 12 juin 2021, 20:55
par topfraicheur
bonjour a tous voila je suis debutant et je voudrais me lancer sur du php et la je but j espere que vous pourrez m aider meri voila mon probleme j'ai j ai fais un systeme de commentaitaire et je voudrai recuperer le message a repondre et pour cela j ai fais cette requette mais bon j ai une erreur au niveau de mon array
$sql="SELECT * FROM commentaires WHERE id=? ORDER BY datepost DESC";
        $result=mysqli_query($db,$sql(array($_GET['id']))) or die("mauvaise requette".mysqli_error($db));
        while ($row=mysqli_fetch_assoc($result)){?>
merci de votre aide

Re: erreur sur ma requette

Posté : 14 juin 2021, 11:00
par @rthur
Si tu mets un ? dans ta requête, c'est que c'est une requête préparée et du coup ça ne se fait pas avec mysqli_* mais avec PDO.
Mysqli et PDO sont deux manières d'interagir avec une base de données SQL, mais tu ne peux pas mixer les deux.

Donc soit PDO :

Soit tu restes avec Mysqli et alors pour insérer ta variable dans ta requête il faut :
1) la filtrer pour éviter de te faire pirater, avec filter_var : https://php.net/filter_var
2) et ensuite concaténer ta variable filtrée dans ta requête SQL : http://www.lephpfacile.com/cours/5-conc ... ux-chaines (cf exemple 2)

Re: erreur sur ma requette

Posté : 14 juin 2021, 13:30
par or 1
Si tu mets un ? dans ta requête, c'est que c'est une requête préparée et du coup ça ne se fait pas avec mysqli_*
si si https://www.php.net/manual/fr/mysqli.prepare.php

Re: erreur sur ma requette

Posté : 15 juin 2021, 10:07
par @rthur
Ah bah tiens, à force d'utiliser PDO je croyais que ce n'était présent que dedans !
J'aurai appris quelque chose aujourd'hui, merci Or1 !