【发布时间】:2013-12-26 14:23:03
【问题描述】:
我刚刚在PHP 中完成了一个站点的工作,并决定将其上传到我的网络服务器,但是当我尝试使用静态方法调用运行页面时,我收到此错误Unexpected T_PAAMAYIM_NEKUDOTAYIM。我知道这与双冒号错误有关,但我不明白为什么它在我的本地 Web 服务器上工作并拒绝在我的远程 Web 服务器上工作。
由于这个错误,我不得不通过我的整个站点将所有静态方法转换为实例方法
<?php
class User
{
private $userId;
public function __construct()
{
if(func_num_args() == 1)
{
$this->userId = func_get_arg(1);
}
}
public static function userNameExists($name)
{
global $dbc;
if(gettype($name) != "string")
{
die("Invalid Function Parameter");
}
$sql = "SELECT username FROM users WHERE users.username='$name'";
$result = mysqli_query($dbc, $sql) or die("Could Not Check Username at This Time: ".mysqli_error($dbc));
if(mysqli_num_rows($result) > 0)
{
return true;
}
else
{
return false;
}
}
?>
当我调用它时:
<?php
require("users.php");
if(User::userNameExists($_GET['username']))
header("Location:index.php");
?>
【问题讨论】:
-
你需要发布你的代码
-
代码在哪里?这个错误发生在哪一行?两种环境下的 PHP 版本是多少?
-
)字符在您的if(User::...行末尾丢失 -
global with oop 伤害了我 ;/
-
@EpicWebDesign 请不要修复人们问题中的语法错误——他们遇到的问题实际上可能是语法错误!