Error setFetchMode()

beta15 -  
Beta15 Messages postés 283 Statut Membre -
Bonjour,

J'ai un soucis avec la classe PDO, voici la requête :

require_once('./Conne.php');

$sql = "SELECT employe.NUMEMP, employe.NOMEMP, reparation.NOREPARATION, reparation.NOTYPE, reparation.DATEREPARATION";
$sql = $sql."FROM intervenir I INNER JOIN reparation R ON I.NOREPARATION=R.NOREPARATION, employe, reparation";
$sql = $sql."WHERE I.NUMEMP = employe.NUMEMP";
$sql = $sql." ORDER BY 1,2,4";

$req = $connexion->query($sql);
$req->setFetchMode(PDO::FETCH_OBJ);

$date = date("d-m-Y");
$heure = date("H-i");

et j'ai l'error :
( ! ) Fatal error: Call to a member function setFetchMode() on a non-object in C:\wamp\www\TpUn\PDF\ListeDesReparations.php on line 12

Merci votre aide

5 réponses

  1. Bionik Messages postés 4232 Date d'inscription   Statut Modérateur Dernière intervention   185
     
    Salut,

    Puis je voir le code de ton fichier Conne.php?
    0
  2. Beta15 Messages postés 283 Statut Membre 8
     
    <?php
    try
    {
    $dns = 'mysql:host=localhost;dbname=TpUn';
    $utilisateur = 'TpUn';
    $motDePasse = 'TpUn';
    $connexion = new PDO( $dns, $utilisateur, $motDePasse );
    }
    catch ( Exception $e )
    {
    echo "Connection à MySQL impossible : ", $e->getMessage();
    die();
    }
    ?>
    0
  3. Utilisateur anonyme
     
    Bonsoir

    Ta requête est incorrecte. Tu oublies des espaces en faisant la concaténation :
    Il n'y en a pas entre DATEREPARATION et FROM ni entre reparation et WHERE.
    Un simple echo $sql; t'aurait permis de le voir.
    0
  4. Beta15 Messages postés 283 Statut Membre 8
     
    MERCI beaucoup !!! Maintenant nouveau problème mais je suis en plein dedans !
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Beta15 Messages postés 283 Statut Membre 8
     
    Maintenant j'ai un problème, je n'arrive pas à faire ma liste :

    $date = date("d-m-Y");
    $heure = date("H-i");

    require_once('/classes/fpdf.php');

    $pdf = new FPDF('P','cm','A4');
    $marge = 3;
    $largeurLig = 21- (2 * $marge);

    $nbCol =5;
    $largeurCol = $largeurLig / $nbCol;

    $pdf->AddPage();

    $pdf->SetFillColor(96,96,96);
    $pdf->SetTextColor(0,0,0);

    $pdf->SetFont('Times','','1*2');
    $pdf->SetXY($marge,1);
    $pdf->Cell($largeurLig,1,'Bienvenue sur le site EMPLOYE',1,1,'C');

    $dateFormat = date("d-m-Y");
    $heure = date("H:i");
    $pdf->SetFont('Arial','',12);
    $pdf->SetXY($marge,$pdf->GetY());
    $pdf->Cell($largeurLig,2,'Nous sommes le '.$dateFormat.' et il est '.$heure,0,1,'C');

    $header=array(utf8_decode('Num employé'),utf8_decode('Nom employé'),utf8_decode('Num réparation'),utf8_decode('Date réparation'),utf8_decode('Type réparation'));
    $pdf->SetXY($marge,$pdf->GetY()+1);

    for($i=0;$i<sizeof($header);$i++)
    {
    $pdf->cell($largeurCol,1,$header[$i],1,0,'C',1);
    }

    $pdf->SetFillColor(0xdd,0xdd,0xdd);
    $pdf->SetTextColor(0,0,0);
    $pdf->SetFont('Times','',10);
    $pdf->SetXY($marge,$pdf->GetY()+1);
    $fond=0;
    $nbRep=0;
    $ligne=$req->fetch();
    $savNoType='';
    $savNoReparationBateau='';
    while($ligne)
    {
    If($savNoType==$ligne->NOTYPE AND $savNoReparationBateau==$ligne->NOREPARATION)
    {
    $pdf->Cell($largeurCol,1,'','Lr',0,'C',$fond);
    $pdf->Cell($largeurCol,1,'','Lr',0,'L',$fond);
    }
    else
    {
    $pdf->Cell($largeurCol,1,$ligne->NUMEMP,1,0,'C',$fond);
    $pdf->Cell($largeurCol,1,$ligne->NOMEMP,1,0,'L',$fond);
    $savNoType=$ligne->NOTYPE;
    }
    $pdf->Cell($largeurCol,1,$ligne->NOREPARATION,1,0,'C',$fond);
    $pdf->Cell($largeurCol,1,$ligne->DATEREPARATION,1,0,'C',$fond);
    $pdf->Cell($largeurCol,1,$ligne->NOTYPE,1,0,'C',$fond);
    $fond=!$fond;
    $nbRep = $nbRep + 1;
    $ligne = $req->fetch();
    }

    $req->closeCursor();
    $pdf->SetXY($marge,$pdf->GetY());
    $pdf->Cell(2*$largeurCol,1,'','T',0,'C');
    $pdf->SetXY($marge,$pdf->GetY()+1);
    $pdf->Cell($largeurLig,1,utf8_decode('Nombre d employé : ').$nbRep,0,0,'C');
    $pdf->SetXY($marge,$pdf->GetY()+1);

    $pdf->Output();
    ?>
    0