Notice: Trying to get property of non-object

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Thomas de Roo

Thomas de Roo

01/04/2012 14:32:26
Quote Anchor link
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
<?php
    $result
= $fiz['db']->query("SELECT wallpost_from FROM {$fiz['db_prefix']}status WHERE user = ".$_SESSION['fiz_user']." AND wallpost = 1 AND notificated = 0;");
    if($result->rowCount() != 0)
    {

        while($wallpost = $result->fetchObject());
        {

            $profile = fizGetProfile($wallpost->wallpost_from);
            out('
            <div id="question">
                '
.sprintf(NOTIFICATION_WALLPOST, $profile->firstname." ".$profile->lastname).'
            </div>
            '
);
        }
    }

?>


Dit geeft

Notice: Trying to get property of non-object in E:\xampp\htdocs\fizlounge\templates\fizlounge\notifications.template.php on line 47

Terwijl

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
    $result
= $fiz['db']->query("SELECT wallpost_from FROM {$fiz['db_prefix']}status WHERE user = ".$_SESSION['fiz_user']." AND wallpost = 1 AND notificated = 0;");
    if($result->rowCount() != 0)
    {

        $wallpost = $result->fetchObject();
        $profile = fizGetProfile($wallpost->wallpost_from);
        out('
        <div id="question">
            '
.sprintf(NOTIFICATION_WALLPOST, $profile->firstname." ".$profile->lastname).'
        </div>
        '
);
    }

?>

Gewoon doet wat ik wil, alleen werkt dat maar 1 keer, ik kan er niet achter komen wat ik fout doe...

Misschien jullie wel?
 
PHP hulp

PHP hulp

18/12/2024 06:33:18
 
Joren de Wit

Joren de Wit

01/04/2012 15:33:52
Quote Anchor link
Wat is in je eerste stukje script de regel die overeenkomt met regel 47 uit je complete script?
 
Jeroen VD

Jeroen VD

01/04/2012 15:37:31
Quote Anchor link
je gebruikt rowCount() op een SELECT query. dat werkt niet altijd.
 
Thomas de Roo

Thomas de Roo

01/04/2012 16:04:18
Quote Anchor link
Zonder de if($result->rowCount() != 0) er om heen blijft het probleem helaas bestaan.
Regels die fouten opleveren zijn alle regels waar naar een property van $wallpost en $profile wordt gevraagd, die bij de onderste code wel bestaan als object, en bij de bovenste nie.
 
Joren de Wit

Joren de Wit

01/04/2012 16:09:42
Quote Anchor link
Je kunt met var_dump die inhoud van die variabelen binnen die loop eens weergeven. Zo kun je zien wat erin zit en waarom het niet werkt?
 
Thomas de Roo

Thomas de Roo

01/04/2012 16:19:58
Quote Anchor link
var_dump($wallpost); geeft bool(false)
Wat zou betekenen dat het niet lukt om $wallpost gelijk te stellen aan $result->fetchObject() zolang de vooraad strekt.

Ik zou niet weten waarom dat niet lukt...

Want op andere plekken in de code werkt exact dezelfde structuur wel

Toevoeging op 01/04/2012 16:51:14:

Hmm... het was kennelijk mogelijk om een puntkomma hier te hebben:
while($wallpost = $result->fetchObject());

viel me niet op, maar naar nog een keer goed kijken wel dus, en hij doet, iig bedankt voor jullie hulp :)
Gewijzigd op 01/04/2012 16:21:38 door Thomas de Roo
 



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.