我有问题。当我在我的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>
我在这里做错了什么?
答案 0 :(得分:3)
由于变量属于类范围,因此请尝试将global
更改为public
。在您提供的示例中,您似乎不需要全局。
答案 1 :(得分:3)
不应:
$this->$con
是:
$this->con
如果您只是想尝试访问名为con
的成员变量。您引用的其他任何地方都只是$con
,为什么$this
在一个地方?我不确定$this->$con
应该做什么,但我猜它受$con
是否被宣布为全局影响。