Attempt to assign property of non-object in...


Posted on 16th Feb 2014 07:03 pm by admin

I'm having issues with the following function in PHP 5...

function getTreeWithChildren()
{
Did you know?Explore Trending and Topic pages for more stories like this.
$category_id = $this->fields['id'];
$parent_id = $this->fields['parent'];

$this->DB->build( array( 'select' => join(',', $this->getFields()),
'from' => $this->table,
'order' => $this->fields['sort']
) );
$this->DB->execute();


// create a pseudo root level object
$root = new stdClass;
$root->$category_id = 0;
$root->children = array();

$arr = array($root);

// populate array and create empty child array
while ($row = $this->DB->fetch()) {
$arr[$row->$category_id] = $row;
$arr[$row->$category_id]->children = array();
}

// build child data
foreach ($arr as $id => $row) {
if (isset($row->$parent_id))
$arr[$row->$parent_id]->children[$id] = $id;
}

return $arr;
}



I'm getting the error

QuoteAttempt to assign property of non-object in ... on line 391

which is...

$arr[$row->$category_id]->children = array();

I've tried typecasting "$this->DB->fetch()" to an object with...

while ($row = (object) $this->DB->fetch()) {

but get a maximum execution time exceeded error instead.

The code was originally written for PHP 4 so I suspect it might be a way the objects are handled and the use of stdClass()?

I'd be extremely grateful if somebody could give me pointers to make this PHP5 compatible (5.2.9)? Thanks in advance
No comments posted yet

Your Answer:

Login to answer
84 Like 54 Dislike
Previous forums Next forums
Other forums

help with Get_
ok some how this is not working i am not sure what i am doing wrong here but what this does is when

Add code to enable passing of checkbox variable on login
Ok, I have a login page, but want to add a checkbox that when checked and successful login is made i

Create PHP table grid help, please
I have a MySQL database setup, now it's time for the table (gridview) design in php. Here's the prob

Displaying image from database
Hi,

I've got a site where that's got a database behind it. Currently it has loads of items in

phpmailer class & pop.gmail.com?
Code: <?php
$mail->IsSMTP();
$mail->Host = "pop.gmail.com";

how to load a Sys file with system load and call images?
normally you need register the module as a service with CreateService, and start the service

Polymorphism
Was wondering if someone could explain this a little better to me. I had always assumed that it had

Executing an exe
Hi. I have some bizarre problem with exec (other any other method) to launch exe's. I am making a ga

Warning: session_start() headers already sent error - Driving me Nuts!
I am trying my sister in laws site and I keep getting an error with my coding. I am more of a design

Hits this week counter
I have a counter on my site that tracks hits, IP's, etc. into a mySQL database. It also includes the

Sign up to write
Sign up now if you have flare of writing..
Login   |   Register
Follow Us
Indyaspeak @ Facebook Indyaspeak @ Twitter Indyaspeak @ Pinterest RSS



Play Free Quiz and Win Cash