Ma requete ne fonctionne pas

Résolu/Fermé
Maxtherrien - Modifié le 20 oct. 2021 à 04:51
 Maxtherrien - 20 oct. 2021 à 12:55
Salut la communauté!

Je dois vous dire que je ne comprends plus rien hahahah.

En gros, je fais afficher une liste des photos (qui fonctionne bien) et j'ai ajouté un bouton modifier juste à côté. Dans le lien de ce bouton, j'ai mis
"destroy_item.php?item=pic&id=\''. $don['id'] .'\'"


Donc, l'id de l'image en question s'envoie dans l'url (ça fonctionne). Par la suite, j'essaie d'aller sélectionner les informations de cette image en faisant une requête, mais je n'y arrive pas... Quand je fais un echo de l'id, ça m'écrit '35', est-ce que les guillemets auraient rapport? J'ai essayé une conversion en int, puisque la colonne de ma base de donnée est justement en int, mais ça ne fonctionne pas non plus....

Voici mon code :
<?php


 session_start();

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

 $id = intval($_GET['id']);

 $req = $bdd->prepare('SELECT count(*) FROM img WHERE id = ?');
 $req->execute(array($id));
 echo "Il y a ". $req->fetchColumn() . " ligne en bdd qui a id = ". $id;

?>


Quand je l'exécute, ça m'écrit "Il y a 0 test en bdd qui a id à 0" quand je mets intval

et

Quand je l'enlève : "Il y a 0 ligne en bdd qui a id = '65' ".

Malgré tout ça, ma bdd contient bel et bien une ligne ayant l'id 65.

Pouvez-vous m'aider s'il-vous-plait ?

Merci

2 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
20 oct. 2021 à 08:03
Bonjour
Rien à voir avec un pb de requête sql..
Juste un pb de connaissances html.
En effet, il ne faut pas mettre de quotes dans les variables uri

"destroy_item.php?item=pic&id='. $don['id'] .'"

1
Maxtherrien
20 oct. 2021 à 12:55
Bonjour,

Ça fonctionne !! Merci :)
0