Notice: Trying to get property of non-object
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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>
');
}
}
?>
$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)
1
2
3
4
5
6
7
8
9
10
11
12
13
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>
');
}
?>
$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?
Wat is in je eerste stukje script de regel die overeenkomt met regel 47 uit je complete script?
je gebruikt rowCount() op een SELECT query. dat werkt niet altijd.
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.
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?
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