PBS REQUETE PREPARE PDO
5 messages
• Page 1 sur 1
- mikaweb2011
- WRInaute discret

- Messages: 69
- Inscription: 21 Jan 2011
PBS REQUETE PREPARE PDO
Bonjour,
Je veux appeler la même requête deux fois, Au prémier lieu sans limit et après sans lIMIT, mais j'ai un erreur qui s'afficher.
Quelqu'un peut m'aider svp ? je suis débutant dans le PDO.
REQUETE :
$vetrin = $connexion->prepare("SELECT * FROM ACCESSOIRE where id=:ID AND name=:NAME GROUP BY LIMIT :LimitStart , :LimitEnd ");
$vetrin->bindValue(':ID', 12 );
$vetrin->bindValue(':NAME', 1 );
$vetrin->bindValue(':LimitStart', 0, PDO::PARAM_INT);
//$vetrin->bindValue(':LimitEnd', 0, PDO::PARAM_INT );
$vetrin->execute();
Bon , le prémiser appel de requête consiste à afficher le nombres total des offres trouvés.
$nb_offeres = $vetrin->rowCount();
Maintenant tjs dans la même page , je veux réexecuter la même réquete pour afficher les offres par 10, voila le code:
$vetrin->bindValue(':ID', 12 );
$vetrin->bindValue(':NAME', 1 );
$vetrin->bindValue(':LimitStart', 0, PDO::PARAM_INT);
//$vetrin->bindValue(':LimitEnd', 100, PDO::PARAM_INT );
$vetrin->execute();
while(.........)
{
ect.................
}
Le problème est tjs au niveau de premier exécution qui affiche 0 résultat.Comment sélectionner tout avec limit ?
Cdt.
Je veux appeler la même requête deux fois, Au prémier lieu sans limit et après sans lIMIT, mais j'ai un erreur qui s'afficher.
Quelqu'un peut m'aider svp ? je suis débutant dans le PDO.
REQUETE :
$vetrin = $connexion->prepare("SELECT * FROM ACCESSOIRE where id=:ID AND name=:NAME GROUP BY LIMIT :LimitStart , :LimitEnd ");
$vetrin->bindValue(':ID', 12 );
$vetrin->bindValue(':NAME', 1 );
$vetrin->bindValue(':LimitStart', 0, PDO::PARAM_INT);
//$vetrin->bindValue(':LimitEnd', 0, PDO::PARAM_INT );
$vetrin->execute();
Bon , le prémiser appel de requête consiste à afficher le nombres total des offres trouvés.
$nb_offeres = $vetrin->rowCount();
Maintenant tjs dans la même page , je veux réexecuter la même réquete pour afficher les offres par 10, voila le code:
$vetrin->bindValue(':ID', 12 );
$vetrin->bindValue(':NAME', 1 );
$vetrin->bindValue(':LimitStart', 0, PDO::PARAM_INT);
//$vetrin->bindValue(':LimitEnd', 100, PDO::PARAM_INT );
$vetrin->execute();
while(.........)
{
ect.................
}
Le problème est tjs au niveau de premier exécution qui affiche 0 résultat.Comment sélectionner tout avec limit ?
Cdt.
-

loran750 - WRInaute passionné

- Messages: 2247
- Inscription: 15 Mar 2005
Re: PBS REQUETE PREPARE PDO
Le meilleur moyen, avec PHP est non seulement de consulter la doc (bon, ça ... c'est sur), mais de ne jamais oublier les commentaires en bas qui donnent des tas d'astuces.
D'ailleurs, la doc de PHP, je n'y vais que pour les commentaires des gens.
Il y a 100% de chances qu'un code source te convienne dans les commentaires.
Pour PDO, soit la homepage, http://php.net/manual/fr/book.pdo.php , soit une des fonctions.
D'ailleurs, la doc de PHP, je n'y vais que pour les commentaires des gens.
Il y a 100% de chances qu'un code source te convienne dans les commentaires.
Pour PDO, soit la homepage, http://php.net/manual/fr/book.pdo.php , soit une des fonctions.
- mikaweb2011
- WRInaute discret

- Messages: 69
- Inscription: 21 Jan 2011
Re: PBS REQUETE PREPARE PDO
DadouDuck a écrit:C'est assez simple, les bindparam ne peuvent contenir les infos du LIMIT
Bonjour,
Merci pour vos réponses.
Bon, je reformule mon pbs.
On suppose que je veux utiliser la même requête en l'appelant deux fois comme dans l'exemple ci dessous:
$reqs=$dbd->prepare("select * from article where
Prémier appel: Je veux afficher les offres dont le prix est <300
donc je dois écrire :
$reqs->execute(array(":PRIX"=>"prix<".300));
est ce que cette écriture est correcte ?
Deuxième appel: Afficher les offres dont le prix BETWEEN 300, 700
$reqs->execute(array(":PRIX"=>"prix BETWEEN 300 AND 700"));
Donc j'ai déclaré le requête un seul fois et j'ai fais l'appel deux fois.
Est ce que cette écriture est correcte sachant que si j'exécute se code je n'obtient aucun résultat et aucun erreur.
Cdt.
- DadouDuck
- WRInaute impliqué

- Messages: 910
- Inscription: 28 Mai 2007
Re: PBS REQUETE PREPARE PDO
mikaweb2011 a écrit:On suppose que je veux utiliser la même requête en l'appelant deux fois comme dans l'exemple ci dessous:
$reqs=$dbd->prepare("select * from article whereRIX");
Prémier appel: Je veux afficher les offres dont le prix est <300
donc je dois écrire :
$reqs->execute(array(":PRIX"=>"prix<".300));
est ce que cette écriture est correcte ?
Non tu dois écrire
- Code: Tout sélectionner
$reqs=$dbd->prepare("select * from article where prix < :PRIX");
et
- Code: Tout sélectionner
$reqs->execute(array(":PRIX"=>300));
mikaweb2011 a écrit:Deuxième appel: Afficher les offres dont le prix BETWEEN 300, 700
$reqs->execute(array(":PRIX"=>"prix BETWEEN 300 AND 700"));
Et re-non
- Code: Tout sélectionner
$reqs=$dbd->prepare("select * from article where prix BETWEEN :DEBUT AND :FIN);
et
- Code: Tout sélectionner
$reqs->execute(array(":DEBUT"=>300, ":FIN" => 700));
mikaweb2011 a écrit:Donc j'ai déclaré le requête un seul fois et j'ai fais l'appel deux fois.
Est ce que cette écriture est correcte sachant que si j'exécute se code je n'obtient aucun résultat et aucun erreur.
Non tes requêtes sont totalement différentes, les requêtes préparées ne servent pas du tout a ce que tu souhaites faire, les mots clés SQL NE PEUVENT PAS ETRE MIS EN BINDPARAM
5 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
