注意:未定义的索引:core AND注意:试图获取非对象的属性AND致命错误:


Notice: Undefined index: core AND Notice: Trying to get property of non-object AND Fatal error:

我试图用PHP编写服务器代码,但遇到了一些错误:

注意:未定义的索引:第2行上/var/www/pages/home.php中的core

注意:试图在第3行上的/var/www/pages/home.php中获取非对象的属性

致命错误:在/var/www/pages/home.php的第3行对非对象调用成员函数query(),代码为:

代码为:

$core = $GLOBALS["core"];
$core->mysql->query("delete from `promotions` where `end`<=" . time() . ";");
$promotions = $core->mysql->fetch_array("select * from `promotions` where `end`>" . time() . ";");
if(!in_array("lobby", $promotions)) $promotions[] = array("chat"=>"Lobby");

PHP告诉您core是一个未定义的索引。这意味着在$GLOBALS数组中没有名为core的索引。这意味着在运行$core之前,您还没有在全局作用域中的任何位置定义它。

因此,$core不能是对象。因此,通过编写$core->mysql,您试图获得一个非对象的属性。因此,PHP告诉您,您正在尝试获取非对象的属性。

因此,$core->mysql也不是对象。因此,通过编写$core->mysql->query(...),您试图调用一个非对象的方法。因此,PHP告诉您,您正试图在非对象上调用成员函数(方法)。

一切都非常合乎逻辑,并通过错误消息向您解释,这些消息实际上非常清楚。您的问题是未定义$core。其他一切都随之而来,就像液态汞,顺着。。。倾斜的。。。事情

1)var_dump($GLOBALS),并确保其中有core作为关键

2) 您的$GLOBALS['core']是某种mySql对象吗?

第二个注意是因为找不到核心并且NULL->mysql->query不是有效的