用于查询数据库外数据的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...';
}