My function echos only “array”

You shouldn’t return childpages, you should add variable $ret=""; and in each cycle append

foreach(...){
   $ret.="<div...";
}

and return it

In general you should always return a string(or number) in such functions

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)