Jump to content

PDO : problème avec le retour d'une requête préparé


joboy84

Recommended Posts

Bonjour,

Je ne suis aps encore très familié avec la PDO.. J'ai le code suivant :

	  
<?php

$nomconcours = trim(ucfirst(strtolower($_POST['nomjeuconcours'])));

$statement = $connexion->prepare('SELECT id FROM jeuxconcours WHERE nom = :nomConcours');
$statement->bindParam('nomConcours', $nomconcours, PDO::PARAM_STR);
$statement->execute();

if ($statement != FALSE)
{
echo'<p><font color="red"><strong>Statut :</strong> Le jeu concours '.$nomconcours.' est déjà présent dans la base !</p></font><br />';
}
?>

Il fonctionne pour la requête, mais il m'affiche toujours que le jeu concours est déjà présent, même si ce n'est pas le cas...

D'où vient l'erreur et comment y remédier ?

merci

Link to post
Share on other sites

Oula, non du tout, cela me renvoie :

Catchable fatal error: Object of class PDOStatement could not be converted to string

Edited by Portekoi
Pas besoin de citer le message précédent, on vient de le lire :)
Link to post
Share on other sites

Ok je viens de tilter.

Je pense que Statement te renvoi le fait que la requête a bien été exécutée.

Si tu veux savoir si "nom" est déjà présent dans ta base, passe par un rowCount :)

Soit :


if($statement -> rowCount() > 0){
echo'<p><font color="red"><strong>Statut :</strong> Le jeu concours '.$nomconcours.' est déjà présent dans la base !</p></font><br />';
}

Link to post
Share on other sites

$statement est un objet, il est donc TOUJOURS différent de false

il faut plutôt faire


<?php

$nomconcours = trim(ucfirst(strtolower($_POST['nomjeuconcours'])));

$statement = $connexion->prepare('SELECT id FROM jeuxconcours WHERE nom = :nomConcours');
$statement->bindParam('nomConcours', $nomconcours, PDO::PARAM_STR);
$statement->execute();

if ($statement->rowCount() > 0)
{
echo'<p><font color="red"><strong>Statut :</strong> Le jeu concours '.$nomconcours.' est déjà présent dans la base !</p></font><br />';
}
?>

Edited by Dadou
Dedieux, le temps de rédiger, et d'être grossièrement intérrompu, Portekoi à répondu
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...