Object of class stdClass could not be converted to string

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • ebcovert3
    New Member
    • Apr 2009
    • 4

    Object of class stdClass could not be converted to string

    Ok, I really need help. I am running EE (an older version admittedly) but this just started happening. I noticed a lot of spam accounts being requesting authorization to my website. I went in to the account management section of my website and I am presented with this:

    Code:
    Catchable fatal error: Object of class stdClass could not be converted to string in /home/ninjamon/public_html/guitars/pm/cp/members.cp.php on line 62
    Code:
    Here is my members.cp.php file with line 62 marked.
    <?php
    //
    // pMachine Publishing Software
    //
    // Version 2.3
    //
    // Copyright (c) 2003 Rick Ellis  All rights reserved.
    //
    // THIS IS COPYRIGHTED SOFTWARE
    //
    // License holders may alter or modify this software for their own use, 
    // but may NOT resell or redistribute the modified or derivative version 
    // without prior written consent from pMachine.  Components from this 
    // software may not be extracted and used in other programs without prior 
    // written consent from pMachine.
    //
    // PLEASE READ THE LICENSE AGREEMENT
    //
    
    //	----------------------------------------------
    //      GET MEMBER PROFILE
    //	----------------------------------------------
    
    function get_member_profile($id, $show) 
    {	
        global $use_session_id, $db_members, $L_CALENDAR, $db_mailinglist;
        global $db_session, $member_code, $sx;
    
        $db = new DB();
                
    	$qval = "id";
             
        if ($show == "new")
            $qval = "member_id";
    
        if ($id == "self")
        {
            if ($use_session_id == 1) 
            {
                $sql = "select member_id from $db_session where session_id = '$sx'"; 
                $query = new DB_query($db, $sql);                                                      
                $query->db_fetch_object();
                $member_code = $query->obj->member_id;
                
                unset($sql);
                unset($query);
            }
    
            $id = $member_code;
            $qval = "member_id";
        }
    
        $sql = "select * from $db_members where $qval = '$id'";    
        $query = new DB_query($db, $sql);                                                      
        $query->db_fetch_object();
                
        $query->obj->lastpost <> 0 ? $lastpost = date("m/d/Y m:i a",$query->obj->lastpost) : $lastpost = "-"; 
    
    	$joindate = date("m/d/Y m:i a",$query->obj->joindate);
    	
    
    [B][I]	$q = "select count(*) as count from $db_mailinglist where email='$query->obj->email'";[/I][/B] <-- LINE 62
    	$res = new DB_query($db, $q);
    	$res->db_fetch_object();
    
    	$res->obj->count > 0 ? $mailinglist ="yes" : $mailinglist ="";
    	
    	unset($q);
    	unset($res)
    Any help would be greatly appreciated. I am not a coder or php guru. I am mostly the opposite of that.

    TIA,
    Ed
  • Dormilich
    Recognized Expert Expert
    • Aug 2008
    • 8694

    #2
    try var_dump() on $query and $query->obj, maybe it gives some hints.

    Comment

    • ebcovert3
      New Member
      • Apr 2009
      • 4

      #3
      Ok, I don't really know to do that. I running everything from the GUI.

      Comment

      • Dormilich
        Recognized Expert Expert
        • Aug 2008
        • 8694

        #4
        e.g. paste following code into line 61:
        Code:
        var_dump( $query );
        var_dump( $query->obj );
        this will give you some text output (namely the object's properties).

        Comment

        • ebcovert3
          New Member
          • Apr 2009
          • 4

          #5
          Wow. Thank you. That got me this:
          Code:
          object(DB_query)#3 (9) { ["query"]=>  resource(61) of type (mysql result) ["sql"]=>  string(40) "select * from pm_members where id = '80'" ["row"]=>  array(0) { } ["obj"]=>  object(stdClass)#2 (27) { ["id"]=>  string(2) "80" ["member_id"]=>  string(23) "20888449254861dcdad253d" ["username"]=>  string(9) "abu***" ["password"]=>  string(32) "[removed]" ["signature"]=>  string(9) "abu***" ["email"]=>  string(17) "***@krim.ws" ["location"]=>  string(0) "" ["url"]=>  string(0) "" ["occupation"]=>  string(0) "" ["interests"]=>  string(0) "" ["bio"]=>  string(0) "" ["bday_day"]=>  string(0) "" ["bday_month"]=>  string(0) "" ["bday_year"]=>  string(0) "" ["icq"]=>  string(0) "" ["aol_im"]=>  string(0) "" ["yahoo_im"]=>  string(0) "" ["msn_im"]=>  string(0) "" ["show_email"]=>  string(2) "no" ["get_email"]=>  string(2) "no" ["joindate"]=>  string(10) "1214373082" ["numentries"]=>  string(1) "0" ["numcomments"]=>  string(1) "0" ["lastpost"]=>  string(1) "0" ["status"]=>  string(1) "2" ["ipaddress"]=>  string(14) "77.127.106.213" ["deft_weblog"]=>  string(0) "" } ["res"]=>  NULL ["numrows"]=>  NULL ["rows"]=>  int(0) ["errors"]=>  int(0) ["result"]=>  bool(true) } object(stdClass)#2 (27) { ["id"]=>  string(2) "80" ["member_id"]=>  string(23) "20888449254861dcdad253d" ["username"]=>  string(9) "abubmiday" ["password"]=>  string(32) "350d20ac2e95dc31d573a3f34a1e3d22" ["signature"]=>  string(9) "abubmiday" ["email"]=>  string(17) "stotlytof@krim.ws" ["location"]=>  string(0) "" ["url"]=>  string(0) "" ["occupation"]=>  string(0) "" ["interests"]=>  string(0) "" ["bio"]=>  string(0) "" ["bday_day"]=>  string(0) "" ["bday_month"]=>  string(0) "" ["bday_year"]=>  string(0) "" ["icq"]=>  string(0) "" ["aol_im"]=>  string(0) "" ["yahoo_im"]=>  string(0) "" ["msn_im"]=>  string(0) "" ["show_email"]=>  string(2) "no" ["get_email"]=>  string(2) "no" ["joindate"]=>  string(10) "1214373082" ["numentries"]=>  string(1) "0" ["numcomments"]=>  string(1) "0" ["lastpost"]=>  string(1) "0" ["status"]=>  string(1) "2" ["ipaddress"]=>  string(14) "77.127.106.213" ["deft_weblog"]=>  string(0) "" }
          Catchable fatal error:
          Object of class stdClass could not be converted to string in /home/ninjamon/public_html/guitars/pm/cp/members.cp.php on line 63

          Can you help me decipher it? I am not a db person at all.

          TIA
          Last edited by acoder; May 1 '09, 09:38 AM. Reason: Remove sensitive info.

          Comment

          • Dormilich
            Recognized Expert Expert
            • Aug 2008
            • 8694

            #6
            where can I find the definition of the DB class? (the class used on line 30)

            basicly I need to figure out whether $query->obj->email is a public, protected or private property, maybe I can find out something by looking at the db_fetch_obj() method.

            Comment

            • ebcovert3
              New Member
              • Apr 2009
              • 4

              #7
              I am not sure. Sorry. But I am willing to send you any file you think would help. I know I am not much of a help here. LOL. Sorry.

              Comment

              • Dormilich
                Recognized Expert Expert
                • Aug 2008
                • 8694

                #8
                I'll first try my luck with the definition of DB. you can recognise it by the following line

                Code:
                class DB
                // or 
                class DB extends {parent-class-name}
                // or
                class DB implements {one ore more interface names}

                Comment

                • NatK
                  New Member
                  • Nov 2009
                  • 1

                  #9
                  Thanks!

                  Thanks Dormilich!
                  You made me sign-up for this forum. :)

                  Comment

                  • Dormilich
                    Recognized Expert Expert
                    • Aug 2008
                    • 8694

                    #10
                    unfortunately such interesting topics like OOP are rather rare (;_;)

                    Comment

                    Working...