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 :

utiliser mysql_query sans placement dans variable


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 148
    Par défaut utiliser mysql_query sans placement dans variable
    Bonjour,

    tout est dans le titre.
    J'utilisais le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $result=mysql_query("UPDATE matable SET Statut='".$_SESSION['status']."' WHERE id= ".$_SESSION['machine']) or die('Impossible de mettre à jour la base. Erreur relevée: ' . mysql_error());
    et je test un code raccourci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql_query("UPDATE matable SET Statut='".$_SESSION['status']."' WHERE id= ".$_SESSION['machine']) or die('Impossible de mettre à jour la base. Erreur relevée: ' . mysql_error());
    sachant que je ne réutilise pas la variable $result derrière est-il nécessaire de garder le 1er schéma ?

    Merci

    K

  2. #2
    Membre émérite

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 411
    Par défaut
    Dans le cadre d'un UPDATE, mysql_query retourne un booléen.

    Le "mieux" dans ce cadre, c'est soit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $result=mysql_query("UPDATE matable SET Statut='".$_SESSION['status']."' WHERE id= ".$_SESSION['machine']);
    if(!$result) echo "erreur";
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!mysql_query("UPDATE matable SET Statut='".$_SESSION['status']."' WHERE id= ".$_SESSION['machine'])) echo "erreur";
    La 1ère est plus lisible et réutilisable, la 2nde ne crée pas de variable et est plus courte.

    Le résultat est le même, le tout est de garder le même système dans toute ton application pour être cohérent et débugger plus facilement par la suite.

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    comme tu es sous PHP 5.3 je te conseil de vite passer sous mysqli ou PDO

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 148
    Par défaut
    ok, merci pour l'info.

    Par contre pourquoi stealth35 me conseille tu de vite passer sous mysqli.

    quel est l'intérêt ?

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par khamett Voir le message
    ok, merci pour l'info.

    Par contre pourquoi stealth35 me conseille tu de vite passer sous mysqli.

    quel est l'intérêt ?
    toi t'as pas lu le lien

  6. #6
    Membre émérite Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    toi t'as pas lu le lien
    n'empêche, faut se le farcir le lien...
    Note:

    Si vous utilisez MySQL versions 4.1.3 ou plus récent, il est fortement recommandé d'utiliser l'extension mysqli.
    ok, mais pourquoi ? faut que je suive le lien...?

  7. #7
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    le tableau à fin parle de lui même

  8. #8
    Membre émérite Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    le tableau à fin parle de lui même
    effectivement, je viens de le voir...
    au pire je rajouterai un 'i' à toute mes fonctions mysql_ => mysqli_ ...

  9. #9
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par vorace Voir le message
    effectivement, je viens de le voir...
    au pire je rajouterai un 'i' à toute mes fonctions mysql_ => mysqli_ ...
    ouai avec quelques petites modifs ça le fait
    et pour les erreurs c'est pas avec mysql.trace_mode, mais la fonction mysqli_report

  10. #10
    Membre émérite Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    ouai avec quelques petites modifs ça le fait
    et pour les erreurs c'est pas avec mysql.trace_mode, mais la fonction mysqli_report
    devrais changer d'habitude, je ne me sert jamais de mysql.trace_mode, si ca marche pas et qu'il y a pas d'erreur c'est que sa vient de la bdd et la je teste sur phpmyadmin ma requête pour obtenir un message d'erreur que j'aurais pu avoir avec mysql.trace_mode, ah ben zut alors...vu sous cet angle c'est bien pratique !
    p.s. vu que j'ai pas souvent eu de grosse erreur sur mes requête ca passe, mais c'est clair que maintenant je m'en servirai !

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 148
    Par défaut
    oups, désolé, je suis pas allé jusqu'au tableau.

    Néanmoins, je suis pas spécialiste php/mysql.

    Je fais une "petite appli web" et je vois pas trop concrètement ce que cela va m'apporter.

  12. #12
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par khamett Voir le message
    oups, désolé, je suis pas allé jusqu'au tableau.

    Néanmoins, je suis pas spécialiste php/mysql.

    Je fais une "petite appli web" et je vois pas trop concrètement ce que cela va m'apporter.
    imagine que pour le même prix t'ai une 205 ou une Golf VI. Le choix de la 205 est vraiment discutable

Discussions similaires

  1. Utiliser un nom de feuille variable dans une formule
    Par DubDub dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/02/2009, 18h46
  2. Réponses: 3
    Dernier message: 01/12/2008, 17h20
  3. Utilisation de sed avec les variables dans un Shell
    Par mbole dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 05/07/2007, 17h46
  4. [Système] INCLUDE sans passer les variables dans l'URL
    Par bonjour69 dans le forum Langage
    Réponses: 9
    Dernier message: 07/10/2006, 01h20
  5. Sortie standard stockée dans variable sans rc
    Par ggnore dans le forum Linux
    Réponses: 2
    Dernier message: 13/12/2005, 14h46

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