我有一个php文件tableinfo.php,其中包含以下代码->
<?php
$table_info = array(
array(
'table_name' => 'managers',
'n_cols' => '4',
'col_info' => array(
'Name' => 's',
'ldap' => 's',
'avrsid' => 'i',
'bu' => 's'
),
)
);
?>
我已经将此文件包含在另一个文件/controllers/connection.php中,如下所示->
include $_SERVER['DOCUMENT_ROOT'] . '/controllers/tableinfo.php';
connection.php有一个名为connection的类,它在函数中使用$GLOBALS从tableinfo.php访问数组,如下所示->
$types .= $GLOBALS['table_info'][0]['col_info'][$filters[self::filters][$i][self::field]];
其中$types是一个字符串,$filters是另一个具有我想要的字段名的变量。
我像这样自动加载连接.php->
spl_autoload_register(function ($class) {
require_once($_SERVER['DOCUMENT_ROOT'] . '/controllers/' . $class . '.php');
});
现在,我有两个页面,root/js/managers.php和root/js/ldap.php,在managers.php上,一切都很好,但在ldap.php上,它给出了这个错误->
注意:未定义的索引:中的table_info
C: \avrs\htdocs\controllers\connection.php,位于第76行
我不知道我做错了什么。请提出建议。提前谢谢。
好吧,您的实际错误(注意:未定义的索引:table_info)意味着它在寻找一个索引为table_info的数组,但它得到了一个NULL(应该使用isset()来完成类似的操作)。
基本上,$table_info数组并没有像你想象的那样在tableinfo.php中设置。因此,请确保你正确地包含了它(使用正确的路径),然后从那里开始。除非能够真正查看您的代码,否则很难判断。