Probleme if(mysql_num_rows($query) == 0) die [Fermé]

Signaler
Messages postés
3
Date d'inscription
lundi 5 décembre 2011
Statut
Membre
Dernière intervention
6 décembre 2011
-
Messages postés
3
Date d'inscription
lundi 5 décembre 2011
Statut
Membre
Dernière intervention
6 décembre 2011
-
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

Messages postés
167
Date d'inscription
vendredi 6 février 2009
Statut
Membre
Dernière intervention
6 décembre 2011
26
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.
Messages postés
167
Date d'inscription
vendredi 6 février 2009
Statut
Membre
Dernière intervention
6 décembre 2011
26
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
}
?>
Messages postés
167
Date d'inscription
vendredi 6 février 2009
Statut
Membre
Dernière intervention
6 décembre 2011
26
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;
}
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
889
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;
....
Messages postés
3
Date d'inscription
lundi 5 décembre 2011
Statut
Membre
Dernière intervention
6 décembre 2011

Merci beaucoup pour vos réponse!!!
Je vais tester sa au plus vite et je vous dis.
Messages postés
167
Date d'inscription
vendredi 6 février 2009
Statut
Membre
Dernière intervention
6 décembre 2011
26
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";
Messages postés
3
Date d'inscription
lundi 5 décembre 2011
Statut
Membre
Dernière intervention
6 décembre 2011

Merci beaucoup pour vos réponses!
Effectivement sa marche!!que du bonheur!
Bonne fin de journée!