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 :

Valeur retour mysql_query()


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 36
    Par défaut Valeur retour mysql_query()
    Bonjour à tous,

    Je poste ce petit message car je me pose une question.

    En effet, j'utilise la commande mysql_query($sql) où $sql est égal à une requête sql pour insérer des données dans ma base.

    Cependant je souhaiterai savoir si un contrôle sur mysql_query est possible pour savoir si l'exécution de la requête s'est bien passé.

    Ma question est donc, y a-t-il une valeur de retour sur un mysql_query en fonction du déroulement de la requête et si oui quelle est cette valeur de retour?

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 316
    Par défaut
    bonjour,
    mysql_query retourne une ressource.
    pour connaître le bon déroulement de mysql_query, il suffit de lui rajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $res=mysql_query($req) or die (mysql_error());

  3. #3
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 36
    Par défaut
    A quoi sert le or die (mysql_error()) ??

    Si je veux faire un if sur le $res, qu'est ce que je dois mettre car si ca s'est bien passé je veux afficher une page sinon une autre??

    Merci de ta réponse

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 316
    Par défaut
    un petit peu de recherche et de lecture:

    string mysql_error ( resource link_identifier )

    mysql_error retourne le message d'erreur généré par la dernière commande MySQL. Les erreurs retournées par le serveur MySQL ne génèrent plus de message d'alerte. A la place, vous devez utiliser la fonction mysql_error pour lire le contenu du message. Notez que cette fonction ne retourne que le texte de l'erreur la plus récente(n'incluant pas mysql_error et mysql_errno ), ce qui fait que si vous souhaitez l'utiliser, vous devez vous assurer de sa valeur avant de lancer une autre requête.

    link_identifier
    La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte E_WARNING est générée.

    Retourne le texte de l'erreur de la dernière fonction MySQL, ou '' (chaîne vide) si aucune erreur survient.

    Exemple avec mysql_error


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $link = mysql_connect("localhost", "mysql_user", "mysql_password");
     
    mysql_select_db("nonexistentdb", $link);
    echo mysql_errno($link) . ": " . mysql_error($link). "\n";
     
    mysql_select_db("kossu", $link);
    mysql_query("SELECT * FROM nonexistenttable", $link);
    echo mysql_errno($link) . ": " . mysql_error($link) . "\n";
    ?>
    et encore:

    resource mysql_query ( string query , resource link_identifier )

    mysql_query envoie une requête (au serveur MySQL actuellement actif sur le serveur associé avec le link_identifier spécifié).

    query
    Une requête SQL

    La chaîne de requête ne doit pas se terminer par un point-virgule.

    link_identifier
    La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte E_WARNING est générée.

    Pour les requêtes du type SELECT , SHOW , DESCRIBE ou EXPLAIN , mysql_query retournera une ressource en cas de succès, ou FALSE en cas d'erreur.

    Pour les autres types de requêtes, UPDATE , DELETE , DROP , etc., mysql_query retourne TRUE en cas de succès ou FALSE en cas d'erreur.

    La ressource de résultat retournée doit être passée à la fonction mysql_fetch_array , et les autres fonctions permettant d'explorer le résultat des tables, pour accéder aux données retournées.

    Utilisez mysql_num_rows pour trouver le nombre de lignes retournées pour une requête du type SELECT ou mysql_affected_rows pour trouver le nombre de lignes affectées par les requpetes du type DELETE , INSERT , REPLACE , ou UPDATE .

    mysql_query échouera et retournera FALSE si l'utilisateur n'a pas les autorisations nécessaire pour accéder à la (aux) table(s) référencée(s) par la requête.

    Requête invalide

    La requête suivante est syntaxiquement invalide, donc mysql_query va échouer et retourner FALSE .

    Requête valide

    La requête suivante est valide, donc mysql_query va retourner une ressource.

  5. #5
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 36
    Par défaut
    Désolé du dérangement

  6. #6
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Citation Envoyé par Canyata Voir le message
    Désolé du dérangement
    Quel dérangement ? tu ne déranges personne

  7. #7
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Citation Envoyé par Canyata Voir le message
    A quoi sert le or die (mysql_error()) ??
    mysq_error() est une fonction qui permet d'afficher le dernier la dernière erreur remontée par mysql et le or die() est appelé en cas d'échec de la fonction mysql_query.

    Citation Envoyé par Canyata Voir le message
    Si je veux faire un if sur le $res, qu'est ce que je dois mettre car si ca s'est bien passé je veux afficher une page sinon une autre??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if( $res )
    {
       echo 'succès';
    }
    else
    {
      echo 'echec';
    }
    ?

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

Discussions similaires

  1. Valeur de retour mysql_query()
    Par Jobard81 dans le forum Requêtes
    Réponses: 2
    Dernier message: 30/11/2008, 21h46
  2. Valeur retour exe
    Par the big ben 5 dans le forum Delphi
    Réponses: 5
    Dernier message: 21/06/2007, 10h17
  3. [VB.net] Pb valeur retour ExecuteNonQuery
    Par nico10gbb dans le forum Windows Forms
    Réponses: 10
    Dernier message: 18/04/2006, 12h22
  4. PB avec valeur retour array
    Par richton95 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 10/01/2006, 15h33
  5. Valeur retour de DoModal() ?
    Par loupdeau dans le forum MFC
    Réponses: 2
    Dernier message: 10/06/2005, 11h16

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