Fatal error: Call to a member function fetch() on a non-object
Résolu
jordxn
Messages postés
356
Date d'inscription
Statut
Membre
Dernière intervention
-
Elo -
Elo -
Bonjour,
J'ai cette erreur dans cette partie de code :
Fatal error: Call to a member function fetch() on a non-object in ....
//au niveau du while.
function getEventsDate($mois, $annee) {
$result = array();
$sql = 'SELECT DISTINCT jour_taches, titre_taches FROM calendrier c, taches t WHERE mois_taches='.$mois.' AND annee_taches='.$annee.' AND c.id_taches = t.id_taches ORDER BY jour_taches';
if($sql)
{
}else{
die("Une requête a échouée.");
}
while ($row = $sql->fetch(PDO::FETCH_NUM)){
$result[] = $row[0];
$result[] = $row[1];
}
if($pdo){
$pdo = NULL;
}
return $result;
}
Merci de bien vouloir m'aider car je suis perdu
J'ai cette erreur dans cette partie de code :
Fatal error: Call to a member function fetch() on a non-object in ....
//au niveau du while.
function getEventsDate($mois, $annee) {
$result = array();
$sql = 'SELECT DISTINCT jour_taches, titre_taches FROM calendrier c, taches t WHERE mois_taches='.$mois.' AND annee_taches='.$annee.' AND c.id_taches = t.id_taches ORDER BY jour_taches';
if($sql)
{
}else{
die("Une requête a échouée.");
}
while ($row = $sql->fetch(PDO::FETCH_NUM)){
$result[] = $row[0];
$result[] = $row[1];
}
if($pdo){
$pdo = NULL;
}
return $result;
}
Merci de bien vouloir m'aider car je suis perdu
A voir également:
- Fatal error: uncaught error: call to a member function fetch() on bool in
- Eespt technical error ✓ - Forum TNT / Satellite / Réception
- Aux in - Forum Audio
- Cvbs in 1 - Forum Autoradio
- Check system power error please plug in ac adapter ✓ - Forum BIOS
- Fan error lenovo - Forum Refroidissement
3 réponses
Bonjour,
Tu appel une méthode PDO sur un string.. je ne vois nul par une ligne concernant ta BDD...
Ha et aussi met un titre plus explicite ;)
Merci de mettre "Résolu" quand le problème est réglé!
La connaissance c'est comme la confiture: moins on en a et plus on l'étale.
Tu appel une méthode PDO sur un string.. je ne vois nul par une ligne concernant ta BDD...
Ha et aussi met un titre plus explicite ;)
Merci de mettre "Résolu" quand le problème est réglé!
La connaissance c'est comme la confiture: moins on en a et plus on l'étale.
Bonjour,
j'ai maintenant la meme erreur a prepare() :
function getEventsDate($mois, $annee) {
$result = array();
$sql = 'SELECT DISTINCT jour_taches, titre_taches FROM calendrier c, taches t WHERE mois_taches='.$mois.' AND annee_taches='.$annee.' AND c.id_taches = t.id_taches ORDER BY jour_taches';
$query = $pdo->prepare($sql);
$query->execute();
if($query)
{
}else{
die("Une requête a échouée.");
}
while ($row = $query->fetch(PDO::FETCH_NUM)){
$result[] = $row[0];
$result[] = $row[1];
}
if($pdo){
$pdo = NULL;
}
return $result;
}
function afficheEvent($i, $event) {
$texte = ""; $suivant = false;
foreach($event as $cle => $element) {
if($suivant) {
$texte .= $element."<br/>";
}
if($element == $i) {
$suivant = true;
} else {
$suivant = false;
}
}
return $texte;
}
j'ai maintenant la meme erreur a prepare() :
function getEventsDate($mois, $annee) {
$result = array();
$sql = 'SELECT DISTINCT jour_taches, titre_taches FROM calendrier c, taches t WHERE mois_taches='.$mois.' AND annee_taches='.$annee.' AND c.id_taches = t.id_taches ORDER BY jour_taches';
$query = $pdo->prepare($sql);
$query->execute();
if($query)
{
}else{
die("Une requête a échouée.");
}
while ($row = $query->fetch(PDO::FETCH_NUM)){
$result[] = $row[0];
$result[] = $row[1];
}
if($pdo){
$pdo = NULL;
}
return $result;
}
function afficheEvent($i, $event) {
$texte = ""; $suivant = false;
foreach($event as $cle => $element) {
if($suivant) {
$texte .= $element."<br/>";
}
if($element == $i) {
$suivant = true;
} else {
$suivant = false;
}
}
return $texte;
}
J'ai inclué le fichier config qui est :
<?php
// Connexion a la base de donnees
$host='**';
$database='**';
$user='**';
$password='**';
$strCon = "mysql:host=$host;dbname=$database";
$arrExtraParam= array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8");
$pdo = new PDO($strCon, $user, $password, $arrExtraParam);
$pdo->exec("SET NAMES 'utf8'");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
?>
<?php
// Connexion a la base de donnees
$host='**';
$database='**';
$user='**';
$password='**';
$strCon = "mysql:host=$host;dbname=$database";
$arrExtraParam= array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8");
$pdo = new PDO($strCon, $user, $password, $arrExtraParam);
$pdo->exec("SET NAMES 'utf8'");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
?>
function getEventsDate($mois, $annee) {
global $pdo;
$result = array();
$sql = 'SELECT DISTINCT jour_taches, titre_taches FROM calendrier c, taches t WHERE mois_taches='.$mois.' AND annee_taches='.$annee.' AND c.id_taches = t.id_taches ORDER BY jour_taches';
$query = $pdo->prepare($sql);
$query->execute();
if($query)
{
}else{
die("Une requête a échouée.");
}
while ($row = $query->fetch(PDO::FETCH_NUM)){
$result[] = $row[0];
$result[] = $row[1];
}
if($pdo){
$pdo = NULL;
}
return $result;
}
function afficheEvent($i, $event) {
$texte = ""; $suivant = false;
foreach($event as $cle => $element) {
if($suivant) {
$texte .= $element."<br/>";
}
if($element == $i) {
$suivant = true;
} else {
$suivant = false;
}
}
return $texte;
}
comme ceci ?
Merci
global $pdo;
$result = array();
$sql = 'SELECT DISTINCT jour_taches, titre_taches FROM calendrier c, taches t WHERE mois_taches='.$mois.' AND annee_taches='.$annee.' AND c.id_taches = t.id_taches ORDER BY jour_taches';
$query = $pdo->prepare($sql);
$query->execute();
if($query)
{
}else{
die("Une requête a échouée.");
}
while ($row = $query->fetch(PDO::FETCH_NUM)){
$result[] = $row[0];
$result[] = $row[1];
}
if($pdo){
$pdo = NULL;
}
return $result;
}
function afficheEvent($i, $event) {
$texte = ""; $suivant = false;
foreach($event as $cle => $element) {
if($suivant) {
$texte .= $element."<br/>";
}
if($element == $i) {
$suivant = true;
} else {
$suivant = false;
}
}
return $texte;
}
comme ceci ?
Merci
Je t'ai mis juste avant comme faire pour ne pas incorporer des variables dans la requete, et tu me refais ca. Donc fais comme je t'ai montré avant ;-)
function getEventsDate($mois, $annee) {
global $pdo;
$proprietaire=($_SESSION['username']);
$result = array();
$query = $pdo->prepare('SELECT jour_taches, intitule, proprietaire FROM calendrier c join taches t on c.id_taches = t.id_taches WHERE mois_taches=:mois AND annee_taches=:annee AND proprietaire=:proprietaire ORDER BY jour_taches');
$query->bindParam(':mois',$mois);
$query->bindParam(':annee',$annee);
$query->bindParam(':proprietaire',$proprietaire,PDO::PARAM_STR);
$query->execute();
sa ne marche plus depuis que j'ai fait les bindparam...
global $pdo;
$proprietaire=($_SESSION['username']);
$result = array();
$query = $pdo->prepare('SELECT jour_taches, intitule, proprietaire FROM calendrier c join taches t on c.id_taches = t.id_taches WHERE mois_taches=:mois AND annee_taches=:annee AND proprietaire=:proprietaire ORDER BY jour_taches');
$query->bindParam(':mois',$mois);
$query->bindParam(':annee',$annee);
$query->bindParam(':proprietaire',$proprietaire,PDO::PARAM_STR);
$query->execute();
sa ne marche plus depuis que j'ai fait les bindparam...