Pages: 1
- Sujet précédent - Erreur de requête SQL qui s'arête pour une raison inconnu - WAMP - Sujet suivant
#1 Fri 12 August 2022 12:35
- BadWolf
- Participant occasionnel
- Date d'inscription: 27 Jun 2019
- Messages: 35
Erreur de requête SQL qui s'arête pour une raison inconnu - WAMP
Bonjour
J'utilise Wamp pour interagir avec ma base de données, et j'ai un message d'erreur qui s'affiche qui serait apparemment du a la base donnée si je suis les diffèrent forum que j'ai vu. Mais je ne connais pas la raison.
Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 7 server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request. in "Emplacement du fichier php" on line 75
( ! ) PDOException: SQLSTATE[HY000]: General error: 7 server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request. in "Emplacement du fichier php" on line 75
Le problème c'est que des que j'actualise la page quelque fois ca fonctionne et le resultat s'affiche sur la page internet. Qui sait qu'elle est la raison de ce message d'erreur? et comment le corriger ?
En vous remerciant
BadWolf
Hors ligne
#2 Fri 12 August 2022 17:39
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: Erreur de requête SQL qui s'arête pour une raison inconnu - WAMP
Bonjour,
Il faut regarder dans les logs PG: vous aurez le message d'erreur qui a causé le crash.
(si PG n'est pas en mode log, modifiez le fichier postgresql.conf (ou modifiez les params en SQL) pour logger qq part et regarder ce fichier)
https://www.postgresql.org/docs/current … gging.html
Nicolas
Hors ligne
#3 Mon 05 September 2022 10:40
- BadWolf
- Participant occasionnel
- Date d'inscription: 27 Jun 2019
- Messages: 35
Re: Erreur de requête SQL qui s'arête pour une raison inconnu - WAMP
Bonjour Nicolas
Je te remercie je vais regarder ca et je reviens si je ne trouve pas.
BadWolf
Hors ligne
#4 Mon 05 September 2022 14:13
- BadWolf
- Participant occasionnel
- Date d'inscription: 27 Jun 2019
- Messages: 35
Re: Erreur de requête SQL qui s'arête pour une raison inconnu - WAMP
Bonjour
Alors j'ai trouvé j'ai ca comme message sur le LOG :
Code:
2022-09-05 11:28:24.053 UTC [14373] postgres@<nom de la bdd> LOG: could not send data to client: Broken pipe 2022-09-05 11:28:24.053 UTC [14373] postgres@<nom de la bdd> STATEMENT: <REQUETE SQL> 2022-09-05 11:28:24.053 UTC [14373] postgres@<nom de la bdd> FATAL: connection to client lost 2022-09-05 11:28:24.053 UTC [14373] postgres@<nom de la bdd> STATEMENT: <REQUETE SQL>
De ce que j'ai trouve ca voudrait dire que la requete a bien fonctionné mais il ne sait pas ou envoyé les données. Donc le probleme viendrait de WAMP mais la maintenant je ne sais pas ou aller. Je suis allé voir les LOG de WAMP mais pas de message appart le message d'erreur pour les PHP_ERROR. Donc je ne sais pas trop comment faire ?
Est ce que vous en savez plus sur ou chercher ou comment trouver une solution ?
En vous remerciant
BadWolf
Hors ligne
#5 Mon 05 September 2022 16:04
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: Erreur de requête SQL qui s'arête pour une raison inconnu - WAMP
Bonjour,
Oui il semblerait que le client ait fermé la connexion pendant une requête.
Il faut voir quelle partie du code PHP fait la requête et si le code attend bien la réponse de PG avant de passer a autre chose (ce qui pourrait expliquer pourquoi la cnx cliente est fermée)
Sans avoir plus d'info sur comment sont faites les requetes SQL par PHP, difficile de trouver ce qui ne va pas.
Hors ligne
#6 Tue 06 September 2022 10:59
- BadWolf
- Participant occasionnel
- Date d'inscription: 27 Jun 2019
- Messages: 35
Re: Erreur de requête SQL qui s'arête pour une raison inconnu - WAMP
Bonjour,
Merci pour ta réponse j'ai pu aller plus loin encore.
Visiblement le moment ou ca plante et le moment ou j'appelle la fonction "PDOStatement::execute" (https://www.php.net/PDOStatement.execute).
Code:
public function request(string $requete_sql, array $attributs = null, int $id = null){ set_time_limit(3600); if($attributs){ $req = $this->getPDO()->prepare($requete_sql); $req -> execute($attributs); // var_dump($req); } else { $req = $this->getPDO()->query($requete_sql); // var_dump($req); } if($id){ $lastId = $this->getPDO()->lastInsertId(); return $lastId; } $donnees = $req->fetchAll(); return $donnees; }
Voici la fonction qui permet de retourner un résultat via une requête SQL. On est dans un cas ou la fonction request reçoit $requete_sql et $attributs. Et ca plante au moment et ca plante au moment du "$req -> execute($attributs); "
J'ai encore du mal a comprendre le fonctionnement de cette partie pour tout vous dire, le PDOStatement est compliqué à comprendre.
En vous remerciant
BadWolf
Dernière modification par BadWolf (Tue 06 September 2022 11:00)
Hors ligne
Pages: 1
- Sujet précédent - Erreur de requête SQL qui s'arête pour une raison inconnu - WAMP - Sujet suivant