Fatal error: Uncaught Error: Call to a member function query() on null in
Posté : 09 avr. 2019, 21:04
Bonjour,
Je rencontre un problème sur mon site depuis ce matin, et je n'arrive pas à en trouver la solution.
Je suis hébergé chez OVH. Le site est en fonction depuis 1 an, sans rencontrer de problème, et depuis ce matin, j'ai le massage "Fatal error: Uncaught Error: Call to a member function query() on null in " après le Xème appel à la base. Si encore ça se passait à la première requête, mais non, j'effectue plusieurs requêtes sur la même page, et d'un coup, ce message apparaît.
Voici mon code de connexion :
Et voici un extrait de mon code :
L'erreur se produit à la ligne
qui se trouve après
c'est à dire à la 3ème requête.
Si quelqu'un a une explication à ce problème, je lui serai reconnaissant de m'en donner la solution.
Christian
Je rencontre un problème sur mon site depuis ce matin, et je n'arrive pas à en trouver la solution.
Je suis hébergé chez OVH. Le site est en fonction depuis 1 an, sans rencontrer de problème, et depuis ce matin, j'ai le massage "Fatal error: Uncaught Error: Call to a member function query() on null in " après le Xème appel à la base. Si encore ça se passait à la première requête, mais non, j'effectue plusieurs requêtes sur la même page, et d'un coup, ce message apparaît.
Voici mon code de connexion :
Code : Tout sélectionner
<?php
function connectToDB(& $bdd= null) {
try {
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=xxxxx.mysql.db;dbname=xxxx;charset=utf8', 'xxxx', 'xxxx', $pdo_options);
}
catch(Exception $e) {
return false;
}
return true;
}
?>Et voici un extrait de mon code :
Code : Tout sélectionner
<td class="align_haut" id="statut">
<p class="titre_rubrique">
STATUTS A AFFICHER
</p>
<p>
<?php
connectToDB($bdd);
$sql = "select count(*) from statuts_affaires where supprime='0'" ;
$nb=$bdd->query($sql);
$nb_statut_base=$nb->fetchColumn();
$bdd = null;
$nb_statut_reglage=substr_count($_SESSION['affichage_statut_affaire'], ',') - 1;
?>
<input type="checkbox" id="checkall_statut" <?php if($nb_statut_reglage == $nb_statut_base){ echo "checked";}?>/>
<label for="statut1" class="tous_aucun"><span><span></span></span> Tous / Aucun</label>
</p>
<div id="bordure_liste">
<?php
$i=-1;
connectToDB($bdd);
$sql = "select * from statuts_affaires where supprime='0' order by statut asc" ;
$req = $bdd->query($sql);
while($row = $req->fetch()) {
$i += 1;
?>
<input type="checkbox" id="case_1" name="statut<?php echo $i; ?>" <?php if (strpos($_SESSION['affichage_statut_affaire'],",".$row['id_statut'].",") !== false){ echo "checked"; } ?> />
<label for="statut1"><span><span></span></span> <?php if($row['statut']!="") {echo $row['statut'].' ('.$row['abrege'].')';} ?></label>
<br>
<?php
}
$bdd = null;
?>
</div>
</td>
<td class="align_haut" id="site">
<p class="titre_rubrique">
SITES A AFFICHER
</p>
<p>
<?php
connectToDB($bdd);
$sql = "select count(*) from sites where supprime='0'" ;
$nb=$bdd->query($sql);
$nb_site_base=$nb->fetchColumn();
$bdd = null;
$nb_site_reglage=substr_count($_SESSION['affichage_site_affaire'], ',') - 1;
?>
<input type="checkbox" id="checkall_site" <?php if($nb_site_reglage == $nb_site_base){ echo "checked";}?>/>
<label for="site1" class="tous_aucun"><span><span></span></span> Tous / Aucun</label>
</p>
<div id="bordure_liste">
<?php
$i=-1;
connectToDB($bdd);
$sql = "select * from sites where supprime='0' order by site asc" ;
$req = $bdd->query($sql);
while($row = $req->fetch()) {
$i += 1;
?>
<input type="checkbox" id="case_1" name="site<?php echo $i; ?>" <?php if (strpos($_SESSION['affichage_site_affaire'],",".$row['id_site'].",") !== false){ echo "checked"; } ?> />
<label for="site1"><span><span></span></span> <?php echo $row['site']; ?></label>
<br>
<?php
}
$bdd = null;
?>
</div>
</td>L'erreur se produit à la ligne
Code : Tout sélectionner
$nb=$bdd->query($sql);qui se trouve après
Code : Tout sélectionner
$sql = "select count(*) from sites where supprime='0'" ;Si quelqu'un a une explication à ce problème, je lui serai reconnaissant de m'en donner la solution.
Christian