On 4/16/06, kmh496 <[EMAIL PROTECTED]> wrote:
> 2006-04-16 (일), 19:35 +0900, kmh496 쓰시길:
> > can somebody explain why
> >
> >             $this->param = $this->SYSTEM->db->answer + $this->param;
> >
> > is causing the error
> >
> >
> > Fatal error: Unsupported operand types
> > in /var/www/current/mjguest/modules/settings.php on line 52
> >
> >
> >
> > context is
> >
> >
> >         function settings(&$SYSTEM)
> >         {
> >             $this->SYSTEM = &$SYSTEM;
> >             $this->SYSTEM->db->ask(1, 'settings_load');
> >             $this->SYSTEM->db->get_row();
> >
> >             $this->param = $this->SYSTEM->db->answer + $this->param;
> >         }
> >
> >
> >
> >
> > --
>
> what are they trying to do//?
>
> for what "does param mean" question, param is just above that part..
>
>     class settings
>     {
>         var $SYSTEM;
>
>         var $param  = array
>
>         // Maximum length for web site title
>         (   'titlelen'          => 28       # DEFAULT: 28   # MAXIMUM:
> 50
>
>         // Maximum length for administrator email
>         ,   'adminmaillen'      => 50       # DEFAULT: 50   # MAXIMUM:
> 80
>
>         // Max Width and Height of avatars thumbnails (in pixels)
>         ,   'userpic' => array
>             (   'width'     => 60       # Width in pixels   # DEFAULT:
> 60       # EDIT ACCORDING TO CUSTOM LAYOUT
>             ,   'height'    => 60       # Height in pixels  # DEFAULT:
> 60       # EDIT ACCORDING TO CUSTOM LAYOUT
>             )
>
>         // Available date-time formats (valid patterns for php "date()"
> function)
>         ,   'dateformats' => array
>             (   'd.m.Y h:ia'            => 'D.M.Y 12h'      # Business
> international
>             ,   'm/d/Y h:ia'            => 'M/D/Y 12h'      # American
>             ,   'Y-m-j h:ia'            => 'Y-M-D 12h'      # Asian
>             ,   'd/m/Y H:i'             => 'D/M/Y 24h'      # European
>             ,   'F, jS Y h:ia'          => 'MM, Dth Y 12h'  # English
>             ,   'd.m.Y @ B .\b\e\a\t'   => 'D.M.Y @ .beat'  # Swatch(R)
> Internet time
>             )#  PATTERN                 => REPRESENTATION
>         );
>
>         function settings(&$SYSTEM)
>         {
>             $this->SYSTEM = &$SYSTEM;
>             $this->SYSTEM->db->ask(1, 'settings_load');
>             $this->SYSTEM->db->get_row();
>
>             $this->param = $this->SYSTEM->db->answer + $this->param;
>         }
>
>
>
>
> the db->answer is ...................
>
>        function ask()
>         {
>             $qparams = func_get_args();
>
>             $this->__lastquestion = $qparams[1];
>
>             $this->query($qparams[0],
> strtr(vsprintf($this->questions[$qparams[1]], array_slice($qparams, 2)),
> $this->tables));
>         }
>
>         function get_field($num = 0)
>         {
>             $this->answer = @mysql_fetch_row($this->__cachedquery);
>
>             return ($this->answer ? $this->answer[$num] :
> $this->__error());
>         }
>
>         function get_row()
>         {
>             $this->answer = @mysql_fetch_assoc($this->__cachedquery);
>
>             return ($this->answer ? true : $this->__error());
>         }


Sounds like you have a bad query and instead of answer being a row,
it's something else.

Print out everything before you use it:

instead of:
$this->param = $this->SYSTEM->db->answer + $this->param;

$answer = $this->SYSTEM->db->answer;
$param = $this->param;

echo "Answer: " . $answer . "<br/>";

If that's not an array, that's your problem and you'll have to debug
why it's not an array.

--
Postgresql & php tutorials
http://www.designmagick.com/

Reply via email to