Probleme de synthaxe PDO
Fermé
gintoxic
Messages postés
524
Date d'inscription
mardi 31 juillet 2007
Statut
Membre
Dernière intervention
7 avril 2016
-
22 sept. 2013 à 21:05
Utilisateur anonyme - 24 sept. 2013 à 00:03
Utilisateur anonyme - 24 sept. 2013 à 00:03
A voir également:
- Probleme de synthaxe PDO
- Formulaire de connexion php avec pdo ✓ - Forum PHP
- Pdo mysql_real_escape_string ✓ - Forum Webmastering
- Mysqli_real_escape_string pdo ✓ - Forum PHP
- Fichier .PDO ✓ - Forum Bureautique
- Mysqli_query pdo - Forum Webmastering
3 réponses
Utilisateur anonyme
22 sept. 2013 à 21:32
22 sept. 2013 à 21:32
Bonsoir
D'abord, syntaxe et non pas synthaxe ;)
Ensuite, tu n'as pas le droit d'employer une expression dans LIMIT, donc pas de ($page_curr-1)*$perpage. Il fat que la valeur qui apparaît dans le LIMIT soit déjà calculée, alors tu peux la calculer avant dans une autre variable, ou bien faire une concaténation, par exemple :
... LIMIT (5-1)*10,10 (incorrect)
et avec la concaténation:
... LIMIT 40,10 (correct)
D'abord, syntaxe et non pas synthaxe ;)
Ensuite, tu n'as pas le droit d'employer une expression dans LIMIT, donc pas de ($page_curr-1)*$perpage. Il fat que la valeur qui apparaît dans le LIMIT soit déjà calculée, alors tu peux la calculer avant dans une autre variable, ou bien faire une concaténation, par exemple :
$comptage = $bdd->prepare("SELECT titre,chapitre FROM saga WHERE id=:id AND titre=:titre LIMIT ('.$page_curr-1)*$perpage.", $perpage");La différence, c'est que si par exemple $page_curr vaut 5 et $perpage vaut 10, avec ce que tu as écrit la requête est :
... LIMIT (5-1)*10,10 (incorrect)
et avec la concaténation:
... LIMIT 40,10 (correct)
Utilisateur anonyme
23 sept. 2013 à 09:31
23 sept. 2013 à 09:31
Mes excuses pour l'erreur dans ma correction :\
Qu'est-ce qui ne fonctionne pas correctement ? As-tu bien au moins un résultat si tu fais ta requête à la main avec les mêmes valeurs de $choix et $perpage ?
Qu'est-ce qui ne fonctionne pas correctement ? As-tu bien au moins un résultat si tu fais ta requête à la main avec les mêmes valeurs de $choix et $perpage ?
gintoxic
Messages postés
524
Date d'inscription
mardi 31 juillet 2007
Statut
Membre
Dernière intervention
7 avril 2016
10
23 sept. 2013 à 19:17
23 sept. 2013 à 19:17
j'ai mis pour valeur 10 au deux variable et non rien ne s'affiche, mais pas d'erreur nno plus.
j'ai suivi un tuto (https://www.grafikart.fr/tutoriels/pagination-php-51 mais le souci est qu'il n'est pas en PDO et j'ai appris a partir de PDO et je ne souhaite pas revenir en arriere avec les anciennes méthodes (pardonnez moi)
j'ai suivi un tuto (https://www.grafikart.fr/tutoriels/pagination-php-51 mais le souci est qu'il n'est pas en PDO et j'ai appris a partir de PDO et je ne souhaite pas revenir en arriere avec les anciennes méthodes (pardonnez moi)
gintoxic
Messages postés
524
Date d'inscription
mardi 31 juillet 2007
Statut
Membre
Dernière intervention
7 avril 2016
10
23 sept. 2013 à 20:04
23 sept. 2013 à 20:04
est-ce que dans :
"id" a une quelconque importance ? on peut mettre le mot que l'on vet ou non ?
et à quoi correspond le id dans $_GET['id'] ???
merci pour ces petites précisions
<a href="index.php?id=....
"id" a une quelconque importance ? on peut mettre le mot que l'on vet ou non ?
et à quoi correspond le id dans $_GET['id'] ???
merci pour ces petites précisions
Utilisateur anonyme
24 sept. 2013 à 00:03
24 sept. 2013 à 00:03
D'abord : le id dans
Ensuite, le PDO : tu as tout à fait raison de l'utiliser. Mais je te demandais si tu avais testé ta requête à la main avec les mêmes valeurs de $choix et $perpage, grâce à phpmyadmin par exemple. Car si tu n'as pas de message d'erreur, le plus probable est qu'il n'y a aucune réponse à ta requête. En effet, Tu as un WHERE id=1 : as-tu plus d'une dizaine d'enregistrement avec le même id ? Car si tu n'en as qu'un, ce qui semblerait normal, ton LIMIT 10,10 empêche de l'afficher.
Je suis tenté de dire que ton WHERE est en trop.
<a href="index.php?id=....correspond au id de $_GET['id']. Mais tu peux remplacer id par n'importe quel autre mot (je ne connais pas les règles précises, mais il ne faut sans doute pas d'espace par exemple. Tu peux remplacer id par toto à condition de le remplacer partout : dans l'url et dans le $_GET.
Ensuite, le PDO : tu as tout à fait raison de l'utiliser. Mais je te demandais si tu avais testé ta requête à la main avec les mêmes valeurs de $choix et $perpage, grâce à phpmyadmin par exemple. Car si tu n'as pas de message d'erreur, le plus probable est qu'il n'y a aucune réponse à ta requête. En effet, Tu as un WHERE id=1 : as-tu plus d'une dizaine d'enregistrement avec le même id ? Car si tu n'en as qu'un, ce qui semblerait normal, ton LIMIT 10,10 empêche de l'afficher.
Je suis tenté de dire que ton WHERE est en trop.
22 sept. 2013 à 21:52
WHERE id=:id AND titre=:titre
Tu es sûr que ce AND titre=:titre a quelque chose à faire ici ? Ton id n'est pas unique ?
Et si tu maintiens ce :titre, il ne faut pas l'oublier dans l'array de l'execute
Modifié par gintoxic le 22/09/2013 à 23:49
merci, je tiens au courant pour le resultat
@le père : que me suggères-tu ?
23 sept. 2013 à 00:20
23 sept. 2013 à 00:32
est-ce que j'ai une erreur autre que syntaxique (vu que de ce coté là tout va bien ??*
code :