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 :

Portion de code non lu [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de Saintux
    Homme Profil pro
    Chercheur ( de travail )
    Inscrit en
    Janvier 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur ( de travail )
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 39
    Par défaut Portion de code non lu
    bonjours,

    voilà ma portion de 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
     
    $sql4=mysql_query("SELECT X,Y FROM map WHERE X=$X AND Y=$Y") or die();
    $req4=mysql_fetch_assoc($sql4);
    if($req4 === TRUE) {
    $sql5=mysql_query("SELECT X,Y FROM map WHERE X=$X1 AND Y=$Y") or die();
    $req5=mysql_fetch_assoc($sql5);
    }
    elseif($req5 === TRUE){
    $sql6=mysql_query("SELECT X,Y FROM map WHERE X=$X AND Y=$Y1") or die();
    $req6=mysql_fetch_assoc($sql6);
    }
    else {
    if ($req6 === TRUE) {
    echo 'Veuillez choisir une autre position, celle çi est déjà occupée';
    exit;
    }
    }
    Mon problème est qu'après avoir exécuté sql4 et req4 (qui marche vu que un echo req4['X'] me retourne 200 (donc la valeur)) le reste de ma portion n'est pas exécuté alors que req4 est TRUE, mais le reste de mon script est exécuté .

    Donc je coince sans trouver de solution...
    Quelqu'un pourrait-il m'aider ?

  2. #2
    Membre émérite Avatar de fallais
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2006
    Messages : 858
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $sql4=mysql_query("SELECT X,Y FROM map WHERE X=$X AND Y=$Y") or die();
    $req4=mysql_fetch_assoc($sql4);
    if(mysql_num_rows($req4) != 0) {
    $sql5=mysql_query("SELECT X,Y FROM map WHERE X=$X1 AND Y=$Y") or die();
    $req5=mysql_fetch_assoc($sql5);
    }
    Et comme cela ?

  3. #3
    Membre confirmé Avatar de FrontLine
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 173
    Par défaut
    Ou if(mysql_num_rows($req4)) ?

  4. #4
    Membre averti Avatar de Saintux
    Homme Profil pro
    Chercheur ( de travail )
    Inscrit en
    Janvier 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur ( de travail )
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 39
    Par défaut
    Il me met ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /opt/lampp/htdocs/fa/scripts/placer_p.php on line 20
     
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /opt/lampp/htdocs/fa/scripts/placer_p.php on line 24
     
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /opt/lampp/htdocs/fa/scripts/placer_p.php on line 29
    alors que quand je fais directement le $sql4 depuis phpMyAdmin il ne me trouve pas d'erreur et me sélectionne bien les colonnes qui existent.

  5. #5
    Membre confirmé Avatar de FrontLine
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 173
    Par défaut
    Quel style de contenu y a t'il dans tes conditions Where ?
    Par exemple : WHERE X=$X AND Y=$Y1

    $X et $Y1 j'imagine que se sont des valeurs numérique ?

    Dans le cas contraire essaye en entourrant tes valeurs, par exemple :
    WHERE X='$X' AND Y='$Y1'
    Surtout si les valeurs sont envoyées par l'utilisateur, penser à protéger avec la fonction int() ou intval().

    Après tu peux essayer également :
    if(!empty($req4))

    Bon dimanche

  6. #6
    Membre averti Avatar de Saintux
    Homme Profil pro
    Chercheur ( de travail )
    Inscrit en
    Janvier 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur ( de travail )
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 39
    Par défaut
    $X et $Y sont des variables numériques, et quand je met par exemple $X=315 et $Y=315 et qu'il y a déjà ces valeurs de prises dans la table ça ne vas pas faire les if(!empty($req4)), même lorsque echo ' '.$req4["X"].' '; me donne 315...donc c'est plutôt bizarre .

    edit : ce doit être moi mais bon... je remplace le if(!empty($req4)) par if($req4['X']=='315') et malheureusement, il ne me le fais toujours pas alors que mon echo ' '.$req4["X"].' '; me donne toujours 315..

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

Discussions similaires

  1. code non éxécutable
    Par abidi_niz dans le forum Langage SQL
    Réponses: 1
    Dernier message: 18/07/2005, 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