Fichier texte

Fermé
ala638 Messages postés 15 Date d'inscription jeudi 26 juin 2014 Statut Membre Dernière intervention 7 novembre 2014 - 18 juil. 2014 à 10:16
totodunet Messages postés 1377 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 5 mars 2020 - 21 juil. 2014 à 19:53
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
}
?>
A voir également:

3 réponses

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
18 juil. 2014 à 13:44
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
Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
19 juil. 2014 à 11:20
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
totodunet Messages postés 1377 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 5 mars 2020 199
Modifié par totodunet le 21/07/2014 à 19:57
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