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 :

Simplifier un fetch [PDO]


Sujet :

PHP & Base de données

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 385
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut Simplifier un fetch
    Bonsoir,

    pour simplifier un fetch, j'ai remplacé ces 2 lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $result1= $id_conn->prepare($sql);
    $stmt=$result1->execute();
    par $stmt=($id_conn->prepare($sql))->execute(); et autant avec les 2 lignes, ça marche autant dans le 2e cas, page blanche ; pourquoi ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Cela ne devrait pas te donner une page blanche mais un message d'erreur puisque comme on te l'a dit mille fois, tu peux facilement voir les erreurs avec pdo en utilisant un bloc try/catch (étant donné qu'on t'a déjà indiqué aussi comment activer le mode exception dans les options de configuration de la connexion).

    Je te laisse donc lire le message d'erreur.

    D'ailleurs concernant l'écriture des requêtes et donc aussi concernant l'écriture de pdo une bonne habitude est d'être assez verbeux pour bien différencier les étapes ce qui permet une meilleure lisibilité et donc une évolution et un débuggage plus facile. C'est aussi valable pour tout le code en général.

    Tu perds doublement ton temps avec ce genre de pseudo simplifications. Du temps actuel, du temps futur quand il faudra évoluer/debugguer, et même aussi notre temps quand tu nous donneras un code indigeste à débugguer (faudra pas te plaindre si t'as peu de réponses). Et puis pourquoi pas écrire tout sur une seule ligne tant que t'y es ?

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 385
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Je viens de trouver quelque chose (ça n'explique pas, mais ça justifie l'emploi des 2 lignes) : le fetch porte sur la variable $result1; (while ($res=$result1->fetch()) {...)
    donc même si la ligne unique marchait, il faudrait utiliser les 2 lignes, donc je clos la discussion vu que ça n'a aucun intérêt...

    J'ai écrit tout ça avant de voir la réponse de ABCIWEB ; bon le try/catch, je l'avais pas mis au début, mais je l'ai rajouté...mais l'erreur doit être sévère car même dans ce cas, page blanche...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    Je viens de trouver quelque chose (ça n'explique pas, mais ça justifie l'emploi des 2 lignes)
    In fine ta déduction est bonne mais pas les termes de ton explication. Ce qui justifie l'emploi des 2 lignes c'est que le mode objet fonctionne ainsi et c'est ta connaissance insuffisante du mode objet qui fait que tu crois pouvoir faire ces "simplifications".
    Citation Envoyé par laurentSc Voir le message
    bon le try/catch, je l'avais pas mis au début, mais je l'ai rajouté...mais l'erreur doit être sévère car même dans ce cas, page blanche...
    Effectivement l'erreur php (utilisation incorrecte du mode objet) vient avant l'erreur pdo et le catch ne peut donc rien capter. Mais une page blanche sous-entend que les erreurs php sont désactivées. Comment peux-tu faire des tests avec les erreurs php désactivées ??? Dans ces conditions ça m'étonne pas que ça fait trois mille ans que tu poses des questions de débutant
    Faut-il encore qu'on te précise qu'il faut activer toutes les erreurs php en phase de développement ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    ...mais l'erreur doit être sévère car même dans ce cas, page blanche...
    en fait, les ordinateurs actuels sont de plus en plus puissants et ont des capacités de déduction incroyables.

    Manifestement, le tien a compris que ça ne vaut plus la peine d'afficher quoi que ce soit...

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    jreaux62 Houlà, ça c'est de la réplique
    Si tu en trouve plusieurs de ce tonneau là par jour, on pourra dire qu'on a trouvé un successeur à Michel Audiard

    Mais je me doute bien que par fausse modestie tu vas me répondre : "faut dire aussi, y'en a qui donnent de l'inspiration..."

  7. #7
    Invité
    Invité(e)
    Par défaut
    Il faut encore du boulot pour arriver ne serait-ce qu'à la cheville du père des Tontons Flingueurs !

    http://bigbrowser.blog.lemonde.fr/20...eurs-en-video/

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

Discussions similaires

  1. idees sur requete a simplifier ???
    Par DaxTaz dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 05/07/2004, 09h42
  2. [CVS] error fetching file revisions
    Par kayoups dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 02/06/2004, 15h50
  3. Le rollback explose au moment du FETCH d'un Curseur
    Par Krashtest dans le forum Administration
    Réponses: 10
    Dernier message: 18/08/2003, 09h46
  4. [xsl] affichage arbre simplifié
    Par squat dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 11/06/2003, 11h11
  5. utilisation de fetch avec select
    Par arwen dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 06/06/2003, 10h03

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