Probleme de requete

Fermé
paulodg Messages postés 5 Date d'inscription mardi 13 mars 2007 Statut Membre Dernière intervention 31 octobre 2008 - 28 juin 2007 à 14:40
Dr Zoidberg Messages postés 529 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 - 28 juin 2007 à 14:49
Bonjour !
J'ai un probleme , je pense du à une requete, car quand j'affiche la variable ($id_suivant=mysql_query("SELECT 'ID' FROM photos WHERE ID=$id1");), cela m'affiche "Resource id #3" (sans les guillmets) à la place d'un nombre, et je n'arrive pas à trouver l'erreur dans ma requete sql. Pourriez vous m'aider s'il vous plait? voici le code complet :
<?php
    mysql_connect("localhost","soldatsdeplomb12","*****");
    mysql_select_db("soldatsdeplomb12");

    $id_recu=$_GET['id'];
    $id1=$id_recu-1;
    $id_1=$id_recu+1;
     

      $id_suivant=mysql_query("SELECT 'ID' FROM photos WHERE ID=$id1");//variable problematique
    $id_precedent=mysql_query("SELECT 'ID' FROM photos WHERE ID=$id_1");

    $donnees=mysql_query("SELECT nom FROM photos WHERE ID=$id_recu");

    if ($id_recu == 1)
    { echo "$photo";
      echo "$id_suivant";//j'affiche la variable
        ?>
            <span class="suivant">
                <a href="photos.php?id=2">
                    <img src="images/suivant.png" alt="suivant" />
                </a>
            </span>
            <br />
            <br />

            <span class="photo">
                <img src="<?php echo $photo; ?>" />
            </span>

        <?php
    }

    $retour=mysql_query("SELECT COUNT (*) AS dernier_id FROM photos");
    $donnees=mysql_fetch_array($retour);
    
  

    if ($id_recu == $dernier_id)
    {
        ?>
            <span class="precedent">
                <a href="photos.php?id=<?php echo $id_precedent; ?>" >
                    <img src="images/precedent.png" alt="precedent" />
                </a>
            </span>
            <br />
            <br />

            <span class="photo">
                <img src="<?php echo $photo; ?>" alt="Image"/>
            </span>
        <?php
    }

    else
    {
        ?>
            <span class="precedent">
                <a href="photos.php?id=<?php echo $id_precedent; ?>" >
                     <img src="images/precedent.png" alt="precedent" />
                </a>
            </span>
            <br />
            <br />

            <span class="suivant">
                <a href="photos.php?id=<?php echo $id_suivant; ?>" >
                    <img src="images/suivant.png" alt="suivant" />
                </a>
            </span>
            <br />
            <br />

            <span class="photo">
                <img src="<?php echo $photo; ?>" alt="Image" />
            </span>
        <?php
    }

    mysql_close();
?>

1 réponse

Dr Zoidberg Messages postés 529 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 100
28 juin 2007 à 14:49
Bonjour,

mysql_query ne retourne pas le contenu du résultat de la requète, mais un identifiant de résultat (car un résultat peut avoir plusieurs lignes)
Regarde bien comment on effectue une requête
https://www.php.net/manual/fr/function.mysql-fetch-array.php
Il faut forcement un mysql_fetch_array ou équivalent - qui va retourner une ligne du résultat.
Par exemple pour ta première requête en détaillant et sans vérifications :

     $id_suivant_res=mysql_query("SELECT 'ID' FROM photos WHERE ID=$id1"); //Exécute la requête
    $id_suivant_row = mysql_fetch_array($id_suivant_res); //Retourne la première ligne du résultat
   $id_suivant = $id_suivant_row[0];  // Retourne le premier élement de la ligne retournée au dessus
0