Call to a member function prepare() on a non-object in

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Call to a member function prepare() on a non-object in

Re: Call to a member function prepare() on a non-object in

par xTG » 02 avr. 2012, 19:36

Tu dois dans ce cas aussi avoir un autre warning t'indiquant l'impossibilité de connexion à la bdd alors.
Et ton try..catch ne sert à rien vu que tu défini le mode d'erreur en warning.

Call to a member function prepare() on a non-object in

par md0912 » 02 avr. 2012, 18:14

Bonjour,

J'essaye actuellement d'extraire les données de ma BDD dans un fichier .csv
J'ai donc suivi le tutoriel suivant : http://www.grafikart.fr/tutoriels/php/php-excel-csv-151
Le souci c'est qu'à la première étape j'ai déjà cette erreur qui s'affiche dans mon fichier .csv : Call to a member function prepare() on a non-object in (...)

Voilà le code de mon fichier export.php qui doit donc extraire les données dans un fichier .csv :

<?php
header('Content-Type: text/csv;');
header('Content-Disposition: attachment; filename="Export recap_heures.csv"');
try{
$PDO = new PDO('mysql:host=db368457560.db.1and1.com;dbname=db368457560','dbo368457560','');
$PDO->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
$PDO->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_OBJ);
}catch(PDOException $e){
echo'Connecxion impossible';
}
$req='SELECT nom,prenom,dateH,haam,hdam,hapm,hdpm,nomChantier,descriptifTache,etatTache,momentTache FROM taches JOIN employes ON taches.idEmp = employes.idEmp JOIN heures ON employes.idEmp=heures.idEmp';
$stmt = $PDO->prepare($req);
$stmt->execute();
$data=$stmt->fetchAll();?>
"Nom";"Prenom";"Date";"Heure d'arrivée matin";"Heure de départ matin";"Heure d'arrivée après midi";"Heure de départ après midi";"Nom du chantier";"Descriptif de la tache";"En cours/Fini";"Matin/après midi"<?php
foreach($data as $d){
echo "\n".'"'.$d->nom.'";"'.$d->prenom.'";"'.$d->dateH.'";"'.$d->haam.'";"'.$d->hdam.'";"'.$d->hapm.'";"'.$d->hdpm.'";"'.$d->nomChantier.'";"'.$d->descriptifTache.'";"'.$d->etatTache.'";"'.$d->momentTache.'"';
}?>

Ma requête est juste je pense parce que je l'ai testé sous phpMyAdmin...
Pourriez vous m'aider ?

Merci d'avance