Fichier texte

ala638 Messages postés 22 Statut Membre -  
totodunet Messages postés 1513 Statut Membre -
bonjour

j'ai une erreur dans la fonction mysql_fetch_object
voila le code

<?php
include_once ('connexion.php');
$fp = fopen("fichier.txt","a"); // ouverture du fichier en écriture
$req="select * from table decemployeur" ;
$res=mysql_query ($req);
while ($obj=mysql_fetch_object($res))
{
echo $ligne= $obj->IDENTIFIANT.$obj->TYPE_IDENTIFIANT ;

$ligne="" ;

fputs($ligne, "\n");
}

fclose($fp);
if (!$fp = fopen("fichier.txt","r")) {
echo "Echec de l'ouverture du fichier";
exit;
}
else {
while(!feof($fp)) {
// On récupère une ligne
$ligne = fgets($fp,255);

// On affiche la ligne
echo $ligne;

// On stocke l'ensemble des lignes dans une variable
$fichier .= $ligne;
}
fclose($fp); // On ferme le fichier
}
?>

3 réponses

  1. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    Bonjour,

    Quelle est ton erreur ? Tu dis qu'il y en a une sans nous exposer ton problème...

    Ceci dit, il y a un problème très clair dans ton code :
    while ($obj=mysql_fetch_object($res))
    {
        echo $ligne= $obj->IDENTIFIANT . $obj->TYPE_IDENTIFIANT;
        $ligne="" ;
        fputs($ligne, "\n");
    }

    Tu affectes une valeur à $ligne, et tu l'écrases aussitôt ! Quel intérêt ?
    De plus, tu utilises fputs sans lui dire dans quel fichier tu veux écrire...
    Mets plutôt ceci :
    while ($obj=mysql_fetch_object($res))
    {
        $ligne= $obj->IDENTIFIANT . $obj->TYPE_IDENTIFIANT;
        echo $ligne;
        fputs($fp, $ligne . "\n");
    }


    Mais je ne vois pas ce que tu veux dire par « j'ai une erreur dans la fonction mysql_fetch_object ». Sois plus précis.

    Xavier
    0
  2. Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
     
    Bonjour,
    Erreur de syntaxe surement :
    select * from table decemployeur
    SI ta table ce nomme bien decemployeur, ceci suffit :
    select * from decemployeur

    Sinon, mysql_error te donnera plus d'info.
    0
  3. totodunet Messages postés 1513 Statut Membre 201
     
    bonjour,

    pour éviter tout problème de doute sur la syntaxe des requêtes SQL, fais un echo de ta requête finale, copies colles ce qui est affiché et exécutes là directement sur ton SGBDR

    mais effectivement c'est "select * from nom_table;" pour un select classique

    sinon la logique de ton code est bizarre : tu écrits dans un fichier les résultats que tu fermes pour ensuite l'ouvrir et récupérer les résultats. c'est un exercice ?

    Qui ne tente rien n'a rien
    0