Probleme if(mysql_num_rows($query) == 0) die

touneair Messages postés 3 Statut Membre -  
touneair Messages postés 3 Statut Membre -
Bonjour,

je débute en php et j'essaie de créer une base administration.
Dans un formulaire je souhaite récupérer les champs de ma base de données.
Mon problème est que, mon formulaire s'affiche mais je n'arrive pas a récupéré se qu'il y a dans ma base.dés que je met :
if(mysql_num_rows($query) == 0) die ('Identifiant errone');
Plus rien ne s'affiche alors que je suis connecter...

Voici mon code entier:

if (isset($_POST['modifier'])) {

$id = $_POST['actusid'];

$titre = $_POST['actustitre'];

$texte = $_POST['actustexte'];

if ($err == ''){

$sql = "UPDATE actus
SET actusTitre = '$titre',actusTexte = '$texte',actusPhoto = '$photo'
WHERE actusId = '$id'";

mysql_query($sql);
//mysql_error($sql);

$msgposte = true;

}

} else {

$id='';
if (isset($_GET['id']))$id = $_GET['id'];
$sql = "SELECT * FROM actus
WHERE actusId = '$id'";

$query = mysql_query($sql); // resultat de la requete

if(mysql_num_rows($query) == 0) die ('Identifiant errone'); //Récupère le nombre de lignes d'un jeu de résultat

$data = mysql_fetch_assoc($query); //retourne un tableau associatif qui contient la ligne lue dans le résultat
//----------------------------------------------------------

$titre = ($data['actusTitre']);
$texte = ($data['actusTexte']);
}

Merci de votre aide!!
Bonne journée

4 réponses

  1. thosting Messages postés 244 Statut Membre 27
     
    Attention ! Tu créés des failles de sécurité dans ton script PHP ( toujours mettre htmlentities($_POST...); et htmlentities($_GET...); )

    Pour retourner ton tableau $data il fallait faire une boucle while()
    Ah aussi la variable $err au lieu de faire $err = '' vaut mieux utiliser empty($err)

    <?
    if (isset(htmlentities($_POST['modifier']))) {
    $id = htmlentities($_POST['actusid']);
    $titre = htmlentities($_POST['actustitre']);
    $texte = htmlentities($_POST['actustexte']); $err = "";

    $dbhost = "localhost";
    $dblogin = "login_sql";
    $dbpassword = "pass_sql";
    $dbname = "db_name";

    if (empty($err)) {
    $db = mysql_connect($dbhost, $dblogin, $dbpassword); mysql_select_db($dbname,$db);
    $sql = "UPDATE actus SET actusTitre = '$titre',actusTexte = '$texte',actusPhoto = '$photo' WHERE actusId = '$id'";
    mysql_query($sql); //mysql_error($sql);
    $msgposte = true;
    }

    } else {
    $id=''; if (isset(htmlentities($_GET['id'])))$id = htmlentities($_GET['id']);
    $db = mysql_connect($dbhost, $dblogin, $dbpassword); mysql_select_db($dbname,$db);
    $sql = "SELECT * FROM actus WHERE actusId = '$id'";
    $query = mysql_query($sql); // resultat de la requete

    if(mysql_num_rows($query) == 0) die ('Identifiant errone');

    while($data = mysql_fetch_assoc($query)) {

    $titre = ($data['actusTitre']);
    $texte = ($data['actusTexte']);

    }

    }
    ?>

    --
    Nous sommes là pour vous ! ServeurCounter.fr votre solution de location de serveur de jeu, VPS, IRC, Webradio à des prix discount ! Les CoreGames sont disponibles, ceci permet de créer le nombre illimités de serveurs via un panel d'administration CorePanel.
    0
    1. thosting Messages postés 244 Statut Membre 27
       
      while($data = mysql_fetch_assoc($query)) {

      $titre = $data['actusTitre']; //MODIF A FAIRE
      $texte = $data['actusTexte']; //MODIF A FAIRE

      }
      echo $titre."<br>"; //MODIF A FAIRE
      echo $texte."<br>"; //MODIF A FAIRE
      }
      ?>
      0
    2. thosting Messages postés 244 Statut Membre 27
       
      Ah j'ai pas fait gaffe enleve ca :

      if(mysql_num_rows($query) == 0) die ('Identifiant errone'); //Récupère le nombre de lignes d'un jeu de résultat

      Ca sert a rien ou alors met :

      if (mysql_num_rows($query) == 0) {
      echo "Identifiant errone";
      exit;
      }
      0
  2. Alain_42 Messages postés 5413 Statut Membre 904
     
    même remarques que thosting

    et rajoutes un echo pour voir:

    ...
    } else {
    
    	$id='';
    	if (isset($_GET['id']))$id = $_GET['id'];
    	echo "id recu en GET : ".$id;
    ....
    
    0
  3. touneair Messages postés 3 Statut Membre
     
    Merci beaucoup pour vos réponse!!!
    Je vais tester sa au plus vite et je vous dis.
    0
    1. thosting Messages postés 244 Statut Membre 27
       
      modifie ca par tes identifiants sql et nom de la base de donnée :

      $dbhost = "localhost";
      $dblogin = "login_sql";
      $dbpassword = "pass_sql";
      $dbname = "db_name";
      0
  4. touneair Messages postés 3 Statut Membre
     
    Merci beaucoup pour vos réponses!
    Effectivement sa marche!!que du bonheur!
    Bonne fin de journée!
    0