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

Langage PHP Discussion :

Notices lors de la migration PHP [PHP 7]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Février 2009
    Messages
    637
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 637
    Par défaut Notices lors de la migration PHP
    Bonjour,

    Suite à un changement de version de php, j'ai des notices qui apparaissent...

    Exemple :
    « Notice: Trying to access array offset on value of type null in C:\.... »
    J'ai cherché plusieurs heures d'où venait ce problème dans mon code, puis finalement je suis tombé sur un post en ligne qui explique qu'il est possible de désactiver celles-ci en ajoutant cette ligne de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error_reporting(E_ALL ^ E_NOTICE);
    Tout fonctionne à nouveau, mais cependant, dans le doute je me demande quand même à quoi servent ces Notices et est-ce qu'elles indiquent un problème dans mon code ? Voici le code... (le critère représente le nom d'un champ...)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    	public function get_articles($where, $critere)
    	{  
    	    # Initialise le paramètre « $where ».
    	    $where = ($where!=false)?$where:"";
     
    	    // Requête via tableau associatif.
    	    $query = mysqli_query($this->db, "SELECT * FROM articles $where");
    	    $rows = mysqli_fetch_array($query, MYSQLI_ASSOC);
     
    	    # Libère la mémoire allouée.
    	    mysqli_free_result($query);
     
    	    return $rows[$critere];
    }
    Merci d'avance pour votre réponse,
    Bonne journée.

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

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 539
    Par défaut
    Bonjour,

    Je vous conseille de réactiver les notifications/avertissements/erreurs, car ils vous aident à optimiser votre code PHP.

    Dans votre cas, la notification dit que vous essayez d'accéder à un offset d'une variable de type tableau qui est null, c'est comme si vous avez mis return null[$critere];.

    Et donc on comprend tout de suite que le résultat de la requête $rows est null ou false.

    Vous devez donc vérifier que le retour existe bien avant d'essayer d'accéder à ses valeurs :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!empty($rows)) return $rows[$critere];else return false;
    ou bien avec une condition ternaire return $rows[$critere]??false;

  3. #3
    Membre éclairé
    Inscrit en
    Février 2009
    Messages
    637
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 637
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return $rows[$critere]??false;
    Merci beaucoup pour la correction de syntaxe, ça fonctionne parfaitement !

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

Discussions similaires

  1. probléme lors d'une migration d'une appli php de xp a vista
    Par mioke dans le forum Windows Vista
    Réponses: 1
    Dernier message: 10/10/2009, 01h04
  2. [XHTML] Erreur lors de la migration en XHTML (suite)
    Par Linoa dans le forum Balisage (X)HTML et validation W3C
    Réponses: 13
    Dernier message: 07/09/2005, 12h04
  3. [PARADOX] Erreur lors de la migration de win98 à win2000
    Par Evil onE dans le forum Bases de données
    Réponses: 3
    Dernier message: 22/04/2004, 01h39

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