la commande mysql-affected-rows

Répondre
chi206
le 30/10/2008 à 16:45
chi206
voila j'ai un probleme avec la commande mysql-affected-rows:
je voudrai que la commande me renvoi toute la ligne pa seulement le nombre de lignes affectés.et lautre probleme c'est que lorske je l'inserre dans le fichier stat.txt je voudrai a chaque fois inserrer audebut du fichier sans effacer les anciens ajouts.
voici mon code:

<?php 
// on se connecte à MySQL
$db = mysql_connect('localhost', 'root', '');

// on sélectionne la base
mysql_select_db('client',$db);

// on crée la requête SQL
$sql = 'SELECT nom,prenom,statut,date FROM famille_tbl';

// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());



$sqll = "UPDATE famille_tbl SET prenom = 'chi255' WHERE id=6";
$req1 = mysql_query($sqll) or die('Erreur SQL !<br>'.$sqll.'<br>'.mysql_error());

$fp = fopen("stat.txt","r+"); //ouvre le fichier
fputs($fp,mysql_affected_rows()); //on ecrit ds le fichier le nbr d'ajout
fseek($fp,0); //on se place ds le fichier
fclose($fp); //on ferme le fichier

//printf ("Lignes modifiées : %d\n", mysql_affected_rows());


// *on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
{
//on affiche les informations de l'enregistrement en cours
echo '<b>'.$data['nom'].' '.$data['prenom'].'</b> ('.$data['statut'].')';
echo ' <i>date de naissance : '.$data['date'].'</i><br>';
}

// on ferme la connexion à mysql
mysql_close();
?>


Merci d'utiliser le BB-Code...
LA GLOBULE
le 30/10/2008 à 18:18
LA GLOBULE
Tu dois faire une requête SELECT avec le même WHERE que ton UPDATE, et ce, avant de faire l'UPDATE. La, tu auras toutes les lignes qui se verront modifier par ton UPDATE.

Ensuite, pour ton fichier, le plus simple c'est de carrément réécrire le fichier. Tu vas galérer pour "décaler" ton texte vers le bas.
chi206
le 31/10/2008 à 10:56
chi206
si jai bien compri j doi faire un select * from famille_tbl where id = 6 c ca?ca me donnera apres avec mysql-affected_rows la ligne ki a été modifié ?
LA GLOBULE
le 31/10/2008 à 11:06
LA GLOBULE
Non, mais oublie mysql_affected_rows, ca ne te sert à rien cette fonction. Elle donne juste le nombre de ligne modifiées, pas les lignes elles même.

Pour avoir les lignes modifiées, après ton UPDATE, tu lances ton SELECT ... WHERE id=6 et tu auras toutes les lignes qu'aura modifié ton UPDATE.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours