[RESOLU] Impossible de récupérer des données pour les afficher.

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Impossible de récupérer des données pour les afficher.

Re: Impossible de récupérer des données pour les afficher.

par Legrandfifou » 06 mai 2016, 13:50

Merci à vous j'ai réussi à faire ce que je voulais grâce à vous ! :)

Et un grand merci pour les explications ^^

Re: Impossible de récupérer des données pour les afficher.

par Ryle » 06 mai 2016, 13:01

Ca a effectivement peu d'intérêt dans ton cas, mais pour exécuter une requête préparée, il faut lui passer un tableau de valeur à utiliser dans la requête. En l'occurrence tu n'utilises aucune variable dans ta requête et il n'est pas forcément très cohérent d'utiliser une requête préparée pour cela (ni d'ailleurs pour exécuter des requêtes qu'une seule fois :))

La méthode query() de PDO semble mieux adaptée à ton cas, bien que prepare() + execute() fonctionneront quand même avec les compléments de Spols :)

A savoir : la requête préparée a pour objectif d'optimiser l'exécution d'un nombre important de requêtes identiques avec des valeurs différentes. Si la requête ne contient pas de valeurs ou n'est exécutée qu'une seule fois, les requêtes préparées ne devraient pas être utilisées. Cet usage a cependant été détourné, car les valeurs transmises dans les requêtes préparées sont automatiquement délimitées si nécessaire (chaines passées entre apostrophes) et protégées (ajout d'un antislash devant les apostrophes pour les chaines...)

Re: Impossible de récupérer des données pour les afficher.

par Spols » 06 mai 2016, 11:11

Je pense que c'est plutot comme ceci :
$req_post_affichage = $bdd->prepare($sql_print_post);
                $req_post_affichage->execute(array());
                $donnees_post_affichage = $req_post_affichage->fetch();

Re: Impossible de récupérer des données pour les afficher.

par Legrandfifou » 05 mai 2016, 23:26

Bonsoir,

Merci de ta réponse , j'ai rajouter ce que je pense être juste c'est à dire comme ceci.
$sql_print_post = 'SELECT * FROM post';
						try 
							{

						    $req_post_affichage = $bdd->prepare($sql_print_post);
						    $req_post_affichage->execute($sql_print_post);
						    $donnees_post_affichage = $req_post_affichage->fetch();

							} 

						catch(Exception $e) 
							{
							
							   echo "<br>ERREUR ! ".$e->getMessage()."<br>";
							   echo "<br>params : <br>";
							}
							
							echo "<div class='post_affichage'>
									".$donnees_post_affichage."
								  </div>
								  ";

							print_r($donnees_post_affichage);

							$title = $donnees_post_affichage['title'];

							echo $title;
Est-ce comme cela ? Si oui j'ai ce message d'erreur :

Code : Tout sélectionner

Warning: PDOStatement::execute() expects parameter 1 to be array, string given in /home/u588207568/public_html/post.php on line 14
Merci de ton aide :)

EDIT : Ou est-ce plutôt comme cela
$req_post_affichage = $bdd->prepare($sql_print_post);
						    $req_post_affichage_test->execute($req_post_affichage);
						    $donnees_post_affichage = $req_post_affichage_test->fetch();

Re: Impossible de récupérer des données pour les afficher.

par Ryle » 05 mai 2016, 23:20

Bonsoir,

Entre prepare() et fetch(), il faut également penser à exécuter la requête ;)

Impossible de récupérer des données pour les afficher.

par Legrandfifou » 05 mai 2016, 13:36

Bonjour , j'ai créer un système de post sur mon site web et j'aimerais qu'il s'affiche une fois dans la base de donnée , cependant j'ai essayé avec ce code
<?php
session_start();

$bdd = new PDO ('Ma connexion cachée volontairement ^^');
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

						$sql_print_post = 'SELECT * FROM post';
						try 
							{

						    $req_post_affichage = $bdd->prepare($sql_print_post);
						    $donnees_post_affichage = $req_post_affichage->fetch();

							} 

						catch(Exception $e) 
							{
							
							   echo "<br>ERREUR ! ".$e->getMessage()."<br>";
							   echo "<br>params : <br>";
							}
							
							echo "<div class='post_affichage'>
									".$donnees_post_affichage."
								  </div>
								  ";

							print_r($donnees_post_affichage);

							$title = $donnees_post_affichage['title'];

							echo $title;

							



						

							
?>
Mais rien ne s'affiche et aucune erreur :/ Pourtant il y a bien quelque chose dans ma base de donnée ...

Voilà , si quelqu'un a une idée merci à vous :)