Bonjour,
je développe mon site web, et je rencontre une erreur qui me bloque... Il s'agit de max_user_connections.
Après des recherches sur le web, j'ai compris qu'ils s'agissaient de requêtes lentes, en cours d'exécution.Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1203 User ********** already has more than 'max_user_connections' active connections in /storage/ssd5/226/16889226/public_html/segments_liste.php:145
Stack trace: #0 /storage/ssd5/226/16889226/public_html/segments_liste.php(145): PDOStatement->execute() #1 /storage/ssd5/226/16889226/public_html/index.php(296): include('/storage/ssd5/2...') #2 {main} thrown in /storage/ssd5/226/16889226/public_html/segments_liste.php on line 145
Je pensais que c'était un nombre de visiteurs connectés, mais je suis le seul à être sur le site actuellement, je n'ai partagé le lien à personne.
Voila la liste show PROCESSLIST
Ils disparaissent progressivement en 30 secondes, 1 minute.
La ligne 145 est la ligne $nb_seg_par_liste_prep->execute();
J'ai amélioré le code en mettant une requête préparée plutôt qu'une requête classique et en rajoutant $nb_seg_par_liste_prep = null; mais rien n'y fait, l'erreur me bloque.
Savez-vous d'où cela peut venir ?
Dois-je modifier la config de la bdd ? sachant que c'est un hébergeur gratuit et que je ne peux pas modifier certains valeurs comme max_user_connections qui est à 30.
Site : https://defis-de-cyclogrimpeurs.000w....com/index.php
Hébergeur : 000webhostapp.com
BDD : Serveur : Localhost via UNIX socket
Type de serveur : MariaDB
Connexion au serveur : SSL n'est pas utilisé Documentation
Version du serveur : 10.3.16-MariaDB - MariaDB Server
Version du protocole : 10
Utilisateur : ********
Jeu de caractères du serveur : UTF-8 Unicode (utf8)
Serveur Web
Apache
Version du client de base de données : libmysql - mysqlnd 5.0.12-dev - 20150407 - $Id: 7cc7cc96e675f6d72e5cf0f267f48e167c2abb23 $
Extension PHP : mysqliDocumentation curlDocumentation mbstringDocumentation
Version de PHP : 7.3.23
Je vous remercie par avance,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 $nb_seg_par_liste_sql = "SELECT s.segment_id, s.seg_liste, r.id_membre_demandeur, r.segment_id FROM strava_segments s LEFT JOIN ".$bdd_strava_resultats." r ON s.segment_id = r.segment_id WHERE s.seg_liste = :seg_liste AND id_membre_demandeur=".$_SESSION['id_membre_strava']." GROUP BY r.segment_id"; $nb_seg_par_liste_prep = $bdd->prepare($nb_seg_par_liste_sql); while ($listes_data = $listes_req->fetch()) { $nb_seg_par_liste_prep->bindParam(':seg_liste', $listes_data['liste_id']); $nb_seg_par_liste_prep->execute(); $nb_seg_par_liste_count = $nb_seg_par_liste_prep->rowCount(); } $nb_seg_par_liste_prep = null; $listes_req = null;
bon weekend
Partager