LIMIT AVEC PARAMETRES
Fermé
zakri-04
Messages postés
21
Date d'inscription
dimanche 15 novembre 2020
Statut
Membre
Dernière intervention
9 août 2023
-
1 juin 2021 à 15:59
jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 - 16 juin 2021 à 17:38
jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 - 16 juin 2021 à 17:38
A voir également:
- LIMIT AVEC PARAMETRES
- Ouvrir paramètres - Guide
- Paramètres de confidentialité - Guide
- Paramètres dns - Guide
- Le bon coin mon compte parametres - Guide
- Votre micro est coupé dans les paramètres systeme - Forum Audio
2 réponses
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
Modifié le 1 juin 2021 à 16:11
Modifié le 1 juin 2021 à 16:11
Bonjour,
Pour les "limit" et "offset" tu ne peux pas les passer directement dans le execute.
Il faut utiliser du BIND
et si tu veux les passer dans ta requête sans "sécurité", tu aurais pu faire :
Mais je serai toi, je resterai sur la première proposition.
NB:
Si tu n'obtiens pas de résultats, fais un echo de la variable $sql ainsi que des variables $limitinfer et $limitsuper ... et teste la requête DIRECTEMENT en bdd ( via phpmyadmin par exemple ) pour voir ce qu'elle te retourne.
Pour les "limit" et "offset" tu ne peux pas les passer directement dans le execute.
Il faut utiliser du BIND
$sql = "SELECT id,titre,contenu,DATE(date_creation) AS dat,TIME(date_creation) AS tim FROM billets ORDER BY date_creation LIMIT :limit , :offset "; $stmt = $bdd->prepare($sql); $stmt->bindValue('limit', $limitinfer, PDO::PARAM_INT); $stmt->bindValue('offset', $limitsuper, PDO::PARAM_INT); $stmt->execute();
et si tu veux les passer dans ta requête sans "sécurité", tu aurais pu faire :
$sql = "SELECT id,titre,contenu,DATE(date_creation) AS dat,TIME(date_creation) AS tim FROM billets ORDER BY date_creation LIMIT $limitinfer , $limitsuper "; $stmt = $bdd->prepare($sql); $stmt->execute();
Mais je serai toi, je resterai sur la première proposition.
NB:
Si tu n'obtiens pas de résultats, fais un echo de la variable $sql ainsi que des variables $limitinfer et $limitsuper ... et teste la requête DIRECTEMENT en bdd ( via phpmyadmin par exemple ) pour voir ce qu'elle te retourne.
zakri-04
Messages postés
21
Date d'inscription
dimanche 15 novembre 2020
Statut
Membre
Dernière intervention
9 août 2023
2
16 juin 2021 à 16:52
16 juin 2021 à 16:52
ça marche pas, je sais pas pourquoi?
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
16 juin 2021 à 17:38
16 juin 2021 à 17:38
ça ne marche pas... c 'est à dire ...???
Quel code as tu utilisé ?
As tu des messages d'erreur ?
As tu activé l'affichage des erreurs PDO ? ( voir ici : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs)
As tu fais un ECHO de ta variable $sql pour voir ce qu'elle contient ?
Idem pour tes variables php : $limitinfer et $limitsuper ?
Quel code as tu utilisé ?
As tu des messages d'erreur ?
As tu activé l'affichage des erreurs PDO ? ( voir ici : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs)
As tu fais un ECHO de ta variable $sql pour voir ce qu'elle contient ?
Idem pour tes variables php : $limitinfer et $limitsuper ?