Problème rowCount () et fetch() ...
Résolu
CorentinRoche
Messages postés
271
Date d'inscription
Statut
Membre
Dernière intervention
-
CorentinRoche Messages postés 271 Date d'inscription Statut Membre Dernière intervention -
CorentinRoche Messages postés 271 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai eu un problème avec mon raspberry qui me sert de serveur WEB, J'ai du ré-installer l'os (Rasbian Jessie)
Donc j'ai installer, apache2 php5 mysql phpmyadmin..
Depuis que mon site est sur le nouveau serveur j'ai des erreurs sur toutes les pages ou presque ...
EXEMPLE:

LE CODE :
EDIT : Ajout des balises de code (jordane)
J'ai pas mit tout le HTML mais voila l'erreur et a la ligne 6, au sujet du rowCount (Chose qui marcher parfaitement sur l'ancien serveur...)
J'ai la même erreurs sur tout les pages, mais aussi sur des fetch()
Cela viens surement du changement de serveur ...
Dés idées merci !?
Cordialement, Roche Corentin
J'ai eu un problème avec mon raspberry qui me sert de serveur WEB, J'ai du ré-installer l'os (Rasbian Jessie)
Donc j'ai installer, apache2 php5 mysql phpmyadmin..
Depuis que mon site est sur le nouveau serveur j'ai des erreurs sur toutes les pages ou presque ...
EXEMPLE:
LE CODE :
<?php include 'bdd.php'; $videosParPage = 9; $videosTotalesReq = $bdd->query('SELECT id FROM courspro'); $videosTotales = $videosTotalesReq->rowCount(); $pagesTotales = ceil($videosTotales/$videosParPage); if(isset($_GET['page']) AND !empty($_GET['page']) AND $_GET['page'] > 0 AND $_GET['page'] <= $pagesTotales) { $_GET['page'] = intval($_GET['page']); $pageCourante = $_GET['page']; } else { $pageCourante = 1; } $depart = ($pageCourante-1)*$videosParPage; ?>
EDIT : Ajout des balises de code (jordane)
J'ai pas mit tout le HTML mais voila l'erreur et a la ligne 6, au sujet du rowCount (Chose qui marcher parfaitement sur l'ancien serveur...)
J'ai la même erreurs sur tout les pages, mais aussi sur des fetch()
Cela viens surement du changement de serveur ...
Dés idées merci !?
Cordialement, Roche Corentin
1 réponse
Bonjour,
1 - Pour poster du code sur le forum : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
2 - Comme indiqué dans la documentation officielle de php .. ne pas utiliser rowCount sur des requêtes SELECT
A la place :
1 - Pour poster du code sur le forum : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
2 - Comme indiqué dans la documentation officielle de php .. ne pas utiliser rowCount sur des requêtes SELECT
A la place :
$sql = 'SELECT id FROM courspro'; try{ $prep = $bdd->prepare($sql); $prep->execute(); }catch(Exception $e){ die ('Erreur : '. $e->getMessage(); } //on stocke le resultat de la requete dans un array $videosTotalesReq = $prep->fetchAll(); //on compte : $videosTotales = count($videosTotalesReq);
Je comprend le changement du code. Ce qui me pose souci c'est que cela fonctionner super bien avant, ( sur mon ancien serveur mais plus maintenant... ) Et surtout j'utilise cette façons de faire sur beaucoup de page ...
Merci
Donc...... tout est dit.... ça peut fonctionner... ou pas.
Et donc pour éviter tout souci, on utilisera le code que je t'ai donné avant.
Ou, si tu n'as pas besoin de boucler sur le résultat de la requête pour l'afficher (ou t'en servir ailleurs...), le code suivant serait même encore plus performant (si tu n'as vraiment besoin que de compter et rien d'autre)
NB: De plus, pour pouvoir correctement gérer les éventuelles erreurs de requêtes, il faut utiliser des blocs try/catch (et avoir activé la gestion des erreurs pdo dans la connexion).
Voir ici les explications : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Comment puis-je procéder ?
En gros: j'ai une basse de donnée qui me permet de crée des "cours" puis j'ai fait une boucle qui récupéré chaque ligne de cette table pour les afficher.
En plus de tous sa j'avais trouver sur internet un code qui permet d'afficher qu'un certain nombre de cours (ici 9) puis avec un bouton afficher plus on affiche le reste des cours, mais sa si je le perd c'est pas grave ..
voici le code complet :
En gros l'utilisateur que j'utiliser pour se connecter a la BDD avais pas assez de droit, ducoup je me suis mit en root et la tout fonctionne !