用于查询数据库外数据的PHP函数

用于查询数据库外数据的PHP函数,php,mysql,function,mysqli,Php,Mysql,Function,Mysqli,我想有一个简单的管理脚本,它允许我禁用或启用网站的不同模块,如变更日志或新闻 为此,我创建了一个数据表,如下所示: +----+--------------+---------+ | id | function | enabled | +----+--------------+---------+ | 1 | changelogs | on | | 2 | news | off | | .. | .. | .. |'

我想有一个简单的管理脚本,它允许我禁用或启用网站的不同模块,如变更日志或新闻

为此,我创建了一个数据表,如下所示:

+----+--------------+---------+
| id | function     | enabled |
+----+--------------+---------+
| 1  | changelogs   | on      |
| 2  | news         | off     |
| .. | ..           | ..      |'
+----+--------------+---------+
正如我所说的,我想通过php函数获取模块是打开还是关闭的信息。 我这样做了,但对我来说不起作用

functions.php:

index.php


你知道吗?

$db不存在于你的函数中,因为。您需要将其传递给该函数,在该函数中运行新的mysqli,将$db设置为全局变量或单例,或者以其他方式使其在该函数中可访问。

添加有关“不起作用”的更多详细信息。打印中间的一些可变状态。为什么启用的列不只是一个布尔值呢?在$function_模块周围放上大括号,如果在其他地方没有使用$db,就把它放在函数体中。另外,不要将返回值用引号括起来。我尝试在MySQL中不使用像function这样的词作为列名。您可能正在使用保留字,但查询执行不正确。已工作!我必须连接到函数中的数据库,而不是在functions.php的开头
$db = new mysqli("is correct", "is correct", "is correct", "is correct");

function function_enabled($function_module) {
    if ($function_module == "changelogs") {
        $sql = $db->query("SELECT enabled FROM functions WHERE function = '$function_module'");
        while ($row = $sql->fetch_object()) {
            $return = $row->enabled;
        }
        return "$return";
    }
}
include("functions.php");
if(function_enabled("changelogs") == "on") {
    echo'Result or menu here...';
}