php中的全局变量搞乱了我的HTML!

时间:2011-06-25 02:33:58

标签: php html

我有问题。当我在我的PHP代码中使用全局变量时,我的服务器根本不显示任何HTML代码。如果我注释掉全局变量,我的html页面工作得很好!我在这里做错了吗?

php文件:

class DBConnect{

    // If I comment this out, the HTML shows
    global $con;

    function connectDB() {
        $user = "bstokni_basurin";
        $pass = "basurin";
        $database = "basurin";
        $host = "localhost";

        $this->$con = mysql_connect($host, $user, $pass) or die(mysql_error());
        echo "Connected to MySQL </br>";
        echo $con;
    }

    function closeDB() {
        mysql_close($con);
        echo $con;
        echo "MySQL closed";
    }   
}

html文件:

<!-- Left colon -->
            <div id="leftCol">
                <p>Her kemur ein menu at standa</p>
                <?
                    $menuObj = new DBConnect();
                    $menuObj->connectDB();
                ?>
            </div>

我在这里做错了什么?

2 个答案:

答案 0 :(得分:3)

由于变量属于类范围,因此请尝试将global更改为public。在您提供的示例中,您似乎不需要全局。

答案 1 :(得分:3)

不应:

$this->$con

是:

$this->con

如果您只是想尝试访问名为con的成员变量。您引用的其他任何地方都只是$con,为什么$this在一个地方?我不确定$this->$con应该做什么,但我猜它受$con是否被宣布为全局影响。