Php 奇怪的类成员函数行为

Php 奇怪的类成员函数行为,php,class-members,Php,Class Members,我对PHP类有一个奇怪的问题。如果我这样做: $message= new Message(); $message->load(43); $message=new Message(); $message->loadMessageBasics(43); $message->loadMessageMembers(43); $message->loadMessageStates(43); 它不会工作,脚本没有提供网页 但如果我这样做: $message= new Messag

我对PHP类有一个奇怪的问题。如果我这样做:

$message= new Message();
$message->load(43);
$message=new Message();
$message->loadMessageBasics(43);
$message->loadMessageMembers(43);
$message->loadMessageStates(43);
它不会工作,脚本没有提供网页

但如果我这样做:

$message= new Message();
$message->load(43);
$message=new Message();
$message->loadMessageBasics(43);
$message->loadMessageMembers(43);
$message->loadMessageStates(43);
然后,print_r($message)正好给出了我所期望的结果

有人能告诉我我做错了什么吗

这是消息类文件

提前谢谢

<?php

    class Message
    {
        public $id;
        public $recipients;
        public $sender;
        public $subject;
        public $body;
        public $creationDate;
        public $msgStates;

        function __construct() {
        }

        public function load($mid){
            $this->loadMessageBasics($mid);
            $this->loadMessageMembers($mid);
            $this->loadMessageStates($mid);

        }

        public function loadMessageBasics($mid){
            try{

                $db=initdb();
                $result=$db->run("SELECT id, feladoid, targy, szovegtorzs, l_idopont FROM messages WHERE id=".$mid);
                foreach($result as $row){
                    extract($row);
                    $this->id=$id;
                    $sender=new User();
                    $sender->load($feladoid);
                    $this->sender=$sender;
                    $this->subject=$targy;
                    $this->body=$szovegtorzs;
                    $this->creationDate=$l_idopont;
                }
                $db=null;

            }
            catch(Exception $e){
                echo("Hiba: ".$e->getMessage());
            }
        }

        public function loadMessageMembers($mid){
            try{
                $db=initdb();
                $result=$db->run("SELECT id, tagkod, tagid, l_idopont, m_idopont FROM members WHERE modulkod=11 AND modulid=".$mid);
                foreach($result as $row){
                    extract($row);
                    $newRecipient= new Member();
                    $newRecipient->id=$id;
                    $newRecipient->tagkod=$tagkod;
                    $newRecipient->tagid=$tagid;
                    $newRecipient->l_idopont=$l_idopont;
                    $newRecipient->m_idopont=$m_idopont;
                    $this->recipients[]=$newRecipient;
                    echo("<PRE>");
                    print_r($newRecipient);
                    echo("</PRE>");
                }
                $db=null;

            }
            catch(Exception $e){
                echo("Hiba: ".$e->getMessage());
            }


        }
        public function loadMessageStates($mid){
            try{
                $db=initdb();
                $result=$db->run("SELECT id, uzenetid, userid, mappakod, o_idopont, m_idopont FROM msgstates WHERE uzenetid=".$mid);
                foreach($result as $row){
                    extract($row);
                    $newState= new MsgState();
                    $newState->id=$id;
                    $newState->uzenetid=$uzenetid;
                    $newState->userid=$userid;
                    $newState->mappakod=$mappakod;
                    $newState->o_idopont=$o_idopont;
                    $newState->m_idopont=$m_idopont;
                    $this->msgStates[]=$newState;
                }
                $db=null;

            }
            catch(Exception $e){
                echo("Hiba: ".$e->getMessage());
            }


        }

    }
?>

任何人都有什么建议我应该怎么做?

“不起作用”不适合描述问题,请更具体地说明什么不起作用。很抱歉懒惰:-)我期望的是$message对象的print\r()输出。使用$message->load()时,根本没有输出,只是在我的浏览器中出现了一个错误:101(net::ERR\u CONNECTION\u RESET)屏幕。在逐一使用三个单独的函数后,如$message-loadMessageBasics()等,我可以毫无问题地打印对象。这就是我想说的。你检查过Web服务器日志文件了吗?或者您是否已经对此问题进行了调试?从我所看到的,没有明显的原因说明为什么单个方法调用成功而“批量方法”没有成功。因此,真正的原因可能隐藏在项目的其他地方。ERR_CONNECTION_RESET有很多可能的原因,您可能需要进行一些internet研究以了解有关该问题的更多信息。对不起,我帮不了你那么多:(无论如何,谢谢,我会检查日志文件的。