Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#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: 1542

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: 1542

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

 

Pied de page des forums

Powered by FluxBB