Error setFetchMode()

Fermé
beta15 - 7 avril 2013 à 16:16
Beta15 Messages postés 269 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 7 avril 2013 - 7 avril 2013 à 22:02
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

Bionik Messages postés 4234 Date d'inscription jeudi 19 août 2010 Statut Modérateur Dernière intervention 3 août 2016 183
7 avril 2013 à 17:00
Salut,

Puis je voir le code de ton fichier Conne.php?
0
Beta15 Messages postés 269 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 7 avril 2013 8
7 avril 2013 à 19:28
<?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
Utilisateur anonyme
7 avril 2013 à 20:14
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
Beta15 Messages postés 269 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 7 avril 2013 8
7 avril 2013 à 21:37
MERCI beaucoup !!! Maintenant nouveau problème mais je suis en plein dedans !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Beta15 Messages postés 269 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 7 avril 2013 8
7 avril 2013 à 22:02
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