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

A voir également:

4 réponses

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
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
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
Alain_42 Messages postés 5413 Statut Membre 894
 
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
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
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
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