Problème de PDO dans php5...
Résolu
woody35
Messages postés
30
Date d'inscription
Statut
Membre
Dernière intervention
-
woody35 Messages postés 30 Date d'inscription Statut Membre Dernière intervention -
woody35 Messages postés 30 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Bonjour,
Je "bidouille" un peu de php/sql pour mon site web, j'ai une erreur que je n'arrive pas a m'expliquez.
Voici l'erreur:
Fatal error: Call to a member function execute() on a non-object in /htdocs/public/www/essai/includes/menu_start.php on line 12
Voici le code:
<?php
include("admin/verif.php");
$repon_sur=$bdd->query('SELECT * FROM sur_menu ');
$repon_sur->setFetchMode(PDO::FETCH_OBJ);
while ($surmenu = $repon_sur->fetch() )
{
$surmenu2=$surmenu->emplacement;?>
<div class="menu_haut"><?php echo $surmenu->TITRE; ?></div>
<div class="menu_fond">
<ul class="niveau1">
<?php $repcont = $bdd->prepare('SELECT * FROM menu WHERE emplacement = ? ORDER BY ordre ');
$repcont -> execute(array($surmenu2));
while ($menu_cont = $repcont->fetch() )
{ $sous_menu=$menu_cont['titre']; $url=$menu_cont['url'];
if ($url != "999")
{
echo "<li><a href=\"../index.php?page="; echo $url;echo "\">"; echo $sous_menu; echo"</a></li>";
}
else
{
echo "<li><a>"; echo $sous_menu; echo "</a>";?>
<ul class="niveau2">
<?php $reponse = $bdd->prepare('SELECT * FROM categorie WHERE surcat = ? ORDER BY ordre ');
$reponse -> execute(array($sous_menu));
while ($donnees = $reponse->fetch(PDO::FETCH_OBJ) )
{ ?>
<li><a href="index.php?page=tarif&&cate=<?php echo $donnee->cat;?>"> <?php echo $donnees->cat;?></a></li>
<?php } $reponse->closeCursor(); ?>
</ul>
<?php }} ?>
</ul>
</div>
<div class="menu_bas"></div>
<?php } $reponse->closeCursor();?>
si quelqu'un a un solution, je suis preneur.
Merci d'avance
Bonjour,
Je "bidouille" un peu de php/sql pour mon site web, j'ai une erreur que je n'arrive pas a m'expliquez.
Voici l'erreur:
Fatal error: Call to a member function execute() on a non-object in /htdocs/public/www/essai/includes/menu_start.php on line 12
Voici le code:
<?php
include("admin/verif.php");
$repon_sur=$bdd->query('SELECT * FROM sur_menu ');
$repon_sur->setFetchMode(PDO::FETCH_OBJ);
while ($surmenu = $repon_sur->fetch() )
{
$surmenu2=$surmenu->emplacement;?>
<div class="menu_haut"><?php echo $surmenu->TITRE; ?></div>
<div class="menu_fond">
<ul class="niveau1">
<?php $repcont = $bdd->prepare('SELECT * FROM menu WHERE emplacement = ? ORDER BY ordre ');
$repcont -> execute(array($surmenu2));
while ($menu_cont = $repcont->fetch() )
{ $sous_menu=$menu_cont['titre']; $url=$menu_cont['url'];
if ($url != "999")
{
echo "<li><a href=\"../index.php?page="; echo $url;echo "\">"; echo $sous_menu; echo"</a></li>";
}
else
{
echo "<li><a>"; echo $sous_menu; echo "</a>";?>
<ul class="niveau2">
<?php $reponse = $bdd->prepare('SELECT * FROM categorie WHERE surcat = ? ORDER BY ordre ');
$reponse -> execute(array($sous_menu));
while ($donnees = $reponse->fetch(PDO::FETCH_OBJ) )
{ ?>
<li><a href="index.php?page=tarif&&cate=<?php echo $donnee->cat;?>"> <?php echo $donnees->cat;?></a></li>
<?php } $reponse->closeCursor(); ?>
</ul>
<?php }} ?>
</ul>
</div>
<div class="menu_bas"></div>
<?php } $reponse->closeCursor();?>
si quelqu'un a un solution, je suis preneur.
Merci d'avance
A voir également:
- Problème de PDO dans php5...
- [PDO]Lors de l'execution:SQLSTATE[HY000]: General error: ✓ - Forum PHP
- Formulaire de connexion php mysql avec PDO ✓ - Forum PHP
- Connection impossible par $bdd = new PDO ✓ - Forum PHP
- Erreur undefined method PDO fetch - Forum PHP
- Requête Update et Delete en PDO ✓ - Forum PHP
2 réponses
Salut.
L'erreur signifie que tu ne peux pas appeler la méthode "execute()" d'un non-objet.
Si $repcont n'est pas un objet (qui normalement devrait être un objet PDOStatement), c'est parce qu'il y a eu une erreur dans la ligne précédente.
Pour savoir laquelle, tu peux utiliser la structure « try ... catch » car PDO gère les exceptions. Si aucune erreur sort, essaye en modifiant le niveau d'alerte (cf. ici)
L'erreur signifie que tu ne peux pas appeler la méthode "execute()" d'un non-objet.
Si $repcont n'est pas un objet (qui normalement devrait être un objet PDOStatement), c'est parce qu'il y a eu une erreur dans la ligne précédente.
Pour savoir laquelle, tu peux utiliser la structure « try ... catch » car PDO gère les exceptions. Si aucune erreur sort, essaye en modifiant le niveau d'alerte (cf. ici)