1 pièce(s) jointe(s)
error max_user_connections boucle requêtes
Bonjour,
je développe mon site web, et je rencontre une erreur qui me bloque... Il s'agit de max_user_connections.
Citation:
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
Après des recherches sur le web, j'ai compris qu'ils s'agissaient de requêtes lentes, en cours d'exécution.
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
Pièce jointe 600161
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
Code:
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; |
Je vous remercie par avance,
bon weekend