我试图用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
不是有效的