IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Erreur 502 Bad Gateway avec une requête mysql [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai Avatar de xspray
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 23
    Points : 13
    Points
    13
    Par défaut Erreur 502 Bad Gateway avec une requête mysql
    Bonjour,

    J'ai une erreur en localhost que je n'arrive pas à comprendre car elle n'apparaît pas toujours.
    Lorsque je lance ceci

    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
    17
    18
    19
    20
    21
     
    <?php
    require_once 'inc/functions.php';
     
    $idcom   = connexobjet("db_teqniko", "myparam");
    $requete = "SELECT  * FROM abbvie_inc";
    $result  = $idcom->query($requete);
     
    if (!$result) {
        echo "Lecture impossible";
    } else {
     
     
        $can = json_encode($result->fetch_all(MYSQLI_ASSOC));
     
        echo $can;
     
        $result->free();
        $idcom->close();
    }
    ?>
    je reçois erreur 502 Bad Gateway.

    Par contre si je change ma requête avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     "SELECT  * FROM abbvie_inc LIMIT 150"
    je n'ai plus cette erreur. Mais il est déjà arriver que ça passe quand même sans la limitation à 150 du nombre de lignes.
    Pour info il y a un peu près 1500 lignes.
    Est-ce qu'il y aurait quelque chose de saturé ou aurais-je fait une erreur dans mon code ?

    J'utilise Phpstorm 2017.3 et WampServer Version 3.1.4 64bit

    Merci pour toute aide

  2. #2
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Et si tu mets le echo en commentaire ?
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  3. #3
    Membre à l'essai Avatar de xspray
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 23
    Points : 13
    Points
    13
    Par défaut
    Quand je mets le echo en commentaire il n'y a pas d'erreur.
    C'est ce qui me fait penser que quelque chose est saturer.

    A l'origine ce code renvoie une réponse à une requête ajax
    et je pensais que le problème était dans ma requête ajax.
    Mais apparemment c'est le code php qui coince ou peut être ma configuration
    serveur ou autre ?

  4. #4
    Membre à l'essai Avatar de xspray
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 23
    Points : 13
    Points
    13
    Par défaut
    En voulant faire autrement j'obtiens la même chose

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php
     
    $json = file_get_contents('C:\Users\propa\Desktop\query.json');
     
     
    echo $json;
     
    ?>

    json_encode ou json_decode n'y change rien

  5. #5
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    As tu essayé avec un autre navigateur ?
    Si l’absence d’echo ou bien un limit dans la requête sql font que ça marche c’est peut-être qu’il y a trop de données envoyées ?
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  6. #6
    Membre à l'essai Avatar de xspray
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 23
    Points : 13
    Points
    13
    Par défaut
    Oui j'ai essayé avec d'autres navigateurs mais j'ai le même problème partout.
    Je pense aussi que c'est lié au volume des données envoyées. Mais je ne trouve rien à ce sujet.
    Y a t-il une limite dans le volume des données que echo peut accepter ?

  7. #7
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Essaie de faire une boucle avec un fetch plutôt qu’avec un fetch all. C’est juste pour voir si ça passe.
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  8. #8
    Membre à l'essai Avatar de xspray
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 23
    Points : 13
    Points
    13
    Par défaut
    Oui je n'ai plus d'erreur mais pour le moment je n'arrive pas à récupérer le résultat dans ma requête ajax .
    En tous cas merci beaucoup pour tes suggestions qui m'ont fait avancer.

    Voici mon code:

    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
    17
    18
    19
    20
    21
     
    <?php
     
    require_once 'inc/functions.php';
     
    $idcom   = connexobjet("db_teqniko", "myparam");
    $requete = "SELECT  * FROM abbvie_inc";
    $result  = $idcom->query($requete);
     
    if (!$result) {
        echo "Lecture impossible";
    } else {
     
        while ($can = $result->fetch_row()) {
            echo (json_encode($can));
        }
     
        $result->free();
        $idcom->close();
    }
    ?>

  9. #9
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 407
    Points : 4 844
    Points
    4 844
    Par défaut
    montre nous ce que tu as écris comme ajax?

  10. #10
    Membre à l'essai Avatar de xspray
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 23
    Points : 13
    Points
    13
    Par défaut
    voilà, je fait juste un teste pour voir si this.responseText contient quelque chose mais j'ai rien qui s'affiche avec alert

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
     var xhr = null
            var nJson = {}
            xhr = new getXMLHttpRequest();
            xhr.open("GET", "urlpost.php");
            xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            xhr.onreadystatechange = function () {
                if (this.readyState == 4) {
                    if (this.status == 0 || this.status == 200) {
                        if (this.responseText != null) {
                            mJson = JSON.parse(this.responseText)
                            if (mJson){alert(typeof mJson +'   '+mJson.length)}
                        }
                        else alert("Erreur responseText = null Ajax : Aucune donnée reçue");
                    }
                    else alert(this.readyState + '  ' + this.status + '  ' + "Erreur status != 200 Ajax : " + this.statusText);
                }
            }
     
            function getXMLHttpRequest() {
                var xhr = null;
     
                if (window.XMLHttpRequest || window.ActiveXObject) {
                    if (window.ActiveXObject) {
                        try {
                            xhr = new ActiveXObject("Msxml2.XMLHTTP");
                        } catch (e) {
                            xhr = new ActiveXObject("Microsoft.XMLHTTP");
                        }
                    } else {
                        xhr = new XMLHttpRequest();
                    }
                } else {
                    alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
                    return null;
                }
     
                return xhr;
            }
     
            xhr.send();

  11. #11
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 407
    Points : 4 844
    Points
    4 844
    Par défaut
    bizarre..., j'ai une table qui contient plus que 10.000 lignes, j'ai copié collé ton code en changeant juste quelques détails, et je reçois bien mes 10.000 lignes sans souci.

    apparemment le problème vient de phpStorm, ou de ton serveur local.

    t'as essayé sur un autre éditeur apart phpStorm?

  12. #12
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Et avec POST au lieu de GET ?
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  13. #13
    Membre à l'essai Avatar de xspray
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 23
    Points : 13
    Points
    13
    Par défaut
    J'ai testé sur phped sans soucis je pense que tu as raison c'est avec phpstorm
    qu'il y a un problème
    Pour le type de requête quand je le fait avec POST firefox et ie me renvoient une
    erreur "not found" la aussi c'est blizzard car avec phped je n'ai pas ce problème

    Entre temps je suis aussi passé à xampp pour voir mais j'ai toujours le même
    comportement avec phpstorm

  14. #14
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 407
    Points : 4 844
    Points
    4 844
    Par défaut
    oui, il y a plusieurs discussions et Tickets sur jetbrains.com a propos de ce bug sous Phpstorm
    https://youtrack.jetbrains.com/issue/WI-33242
    https://youtrack.jetbrains.com/issue/WEB-17317
    https://youtrack.jetbrains.com/issue/WEB-18171

  15. #15
    Membre à l'essai Avatar de xspray
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 23
    Points : 13
    Points
    13
    Par défaut
    Merci Toufik83 pour ces liens, j'ai une première piste, lorsque je lance le script ajax
    j'ai ceci dans la barre d'adresse http://localhost:63342/TEQNIKO1/test...qsfok3n9jabpq6
    mais quand je la change en http://localhost:80/TEQNIKO1/testcan...qsfok3n9jabpq6
    ça fonctionne immédiatement sans problème.

    Donc, de ce que j'ai plus ou moins compris, j'en déduit que quand je passe par le serveur intégré de phpstorm
    ça bug mais en changeant de port pour passer par celui de apache ça fonctionne.
    Mais je cherche toujours a mettre le port 80 par défaut dans phpstorm

  16. #16
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 407
    Points : 4 844
    Points
    4 844
    Par défaut
    oui c'est un problème de port, tu es sur la bonne piste.
    il faut que le port utilisé par Phpstorm soit 80 aussi, sinon ça donne l'erreur Bad Gateway.

  17. #17
    Membre à l'essai Avatar de xspray
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 23
    Points : 13
    Points
    13
    Par défaut
    J'ai mis le port du built-in serveur à 8080 car on peut pas descendre sous 1024 et ça fonctionne même
    si dans mon Appach(httpd.conf), Listen est sur 80 et ServerName localhost:80.

    Les requêtes POST passent sans problèmes.

    Merci pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Insertion d'une date avec une requête MySQL
    Par Milyshyn76 dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 24/05/2011, 11h50
  2. Pb avec une requête MySQL.
    Par dimitri13 dans le forum Requêtes
    Réponses: 6
    Dernier message: 23/04/2009, 15h47
  3. Probléme avec une requéte mysql(Oracle 9)
    Par lmkrte dans le forum Langage SQL
    Réponses: 2
    Dernier message: 03/03/2007, 22h41
  4. Problème avec une requête MySQL
    Par Downy35 dans le forum Requêtes
    Réponses: 4
    Dernier message: 30/08/2006, 11h09
  5. Probleme avec une requête MySQL
    Par Alexlesilex dans le forum Requêtes
    Réponses: 8
    Dernier message: 04/05/2006, 17h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo