Fatal error en kom er niet achter wat het is

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Joep van Dongen

Joep van Dongen

25/05/2012 11:42:39
Quote Anchor link
Hallo,

Ik ben met een project bezig en ik krijg de volgende error en ik kom er niet achter waar het nu fout gaat. Een frisse blik wil soms nog wel eens helpen dus misschien dat iemand er even naar kan kijken,

Dit is de error:

Fatal error: Call to a member function execute() on a non-object in /var/www/html/velgenwereld.nl/includes/class/advertenties.class.php on line 34


Dit is mijn Class:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php

class advertenties extends connect
{

    private $advertentieslijst;
    
    public function getAdvertenties($database)
    {

        $sql = "SELECT * FROM ".$database."_advertenties WHERE advertentie_online <= '".date('Y-m-d')."' AND advertentie_offline >= '". date('Y-m-d')."' ORDER BY advertentie_ID";
        try
        {
            $stmt = $this->db->prepare($sql);
            print_r ($sql);
            $stmt->execute();
            $this->advertentieslijst = $stmt->fetchAll(PDO::FETCH_OBJ);
            $stmt->closeCursor();
            return $this->advertentieslijst;
        }

        catch (Exception $e)
        {

            die ($e->getMessage());
        }
    }

    
    /**
     * Maak een database object en opslaan van informatie
     *
     * @param object $dbo
     * @return void
     */

    public function __construct($dbo)
    {

        parent::__construct($dbo);
    }
}


?>


En dit is de andere code die het uitleest:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
        include_once "../includes/inc/init.inc.php";
        $website = "vwe";
?>

<?php
if(isset($_POST['aanbnieuws']))
{

    ?>

<form action="" method="POST">
    <table class="nieuwstable">
    <?php
    if($_POST['aanbnieuws'] == "tabaanbieding")
    {

?>
        
<?php
        $advertenties
= new advertenties($dbo);
        $advertentie = $advertenties->getAdvertenties($website);
        foreach($advertentie as $advertenties)
        {

            ?>

        <tr>
            <th colspan="2">
            <a href="<?php echo $advertenties->advertentie_img; ?>" onclick="openAdvImageInModal(this); return false;"><img src="<?php echo $advertenties->advertentie_img; ?>" alt="<?php echo $advertenties->advertentie_img; ?>" width="250" alt="advertentie"/></a></th>
        </tr>
<?php
        }
?>


Ergens gaat het fout maar ik zie door de bomen het bos niet meer. Iemand suggesties?

Alvast bedankt.
Gewijzigd op 25/05/2012 11:43:11 door Joep van Dongen
 
PHP hulp

PHP hulp

25/11/2024 08:32:37
 
Chris PHP

Chris PHP

25/05/2012 11:48:19
Quote Anchor link
Wat staat er op die lijn 34?
 
Joep van Dongen

Joep van Dongen

25/05/2012 11:52:33
Quote Anchor link
$stmt->execute();
 
Chris PHP

Chris PHP

25/05/2012 11:58:30
Quote Anchor link
Dus net wat er staat hij kan niets uitvoeren want de () zijn leeg. a non-object.
 
Joep van Dongen

Joep van Dongen

25/05/2012 12:07:12
Quote Anchor link
Ik heb heel veel van dit soort Classes en die werken allemaal prima zonder iets in te vullen in de execure();

Ik denk zelf dat de Class goed in elkaar zit en dat ik ergens anders iets over het hoofd zie
 
Gerhard l

gerhard l

25/05/2012 13:10:40
Quote Anchor link
Is $stmt wel het object wat je verwacht? Aangezien de error zegt dat hij probeert een functie uit te voeren die hij niet kent, of dat hij het vanuit een niet object probeert.
 
Kris Peeters

Kris Peeters

25/05/2012 13:24:47
Quote Anchor link
Op deze lijn:

$advertenties = new advertenties($dbo);


Waar komt $dbo van daan?

Trouwens, die print_r ($sql);
Geeft dat je het resultaat dat je verwacht?

(update)

Wacht even ... ik snap niet wat je probeert te doen.

advertenties extends connect
Dit is vreemd. Ik zie niet in waarom een advertentie een extend van een connect zou kunnen zijn.

Toon trouwens eens je class connect.
Gewijzigd op 25/05/2012 13:38:27 door Kris Peeters
 
Jeroen VD

Jeroen VD

25/05/2012 14:07:11
Quote Anchor link
vervang het eens door dit, om te testen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
public function getAdvertenties($database)
    {

        $sql = "SELECT * FROM ".$database."_advertenties WHERE advertentie_online <= '".date('Y-m-d')."' AND advertentie_offline >= '". date('Y-m-d')."' ORDER BY advertentie_ID";
        try
        {
            $stmt= $this->db->query($sql);
            $this->advertentieslijst = $stmt->fetchAll(PDO::FETCH_OBJ);
            $stmt->closeCursor();
            return $this->advertentieslijst;
        }

        catch (Exception $e)
        {

            die ($e->getMessage());
        }
    }
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.