【发布时间】:2021-03-04 22:20:29
【问题描述】:
我在 mysql 中有一个名为 site_settings 的表,看起来像这样
我正在尝试将我所有的网站设置存储在 mysql 中,并希望将它们作为变量拉入 PHP。
我想从 variable_name 列中提取所有值作为 PHP 中的 $variable 名称,并将它们的值设置为 variable_type 列中的值。
$site_name = 烦恼
$registration_enabled = 假
这是我的代码:
$sql = connect($database_address, $database_username, $database_password, $database);
$query = "SELECT * FROM site_settings";
$result = $sql->query($query);
//$row = $result->fetch_all(MYSQLI_ASSOC);
while($row = $result->fetch_assoc())
{
$$row['variable_name'] = $row["variable_type"];
}
$arr = get_defined_vars();
print_r($arr);
我用来查看变量是否已创建的最后两行,但我无法让它工作。到目前为止我得到的最好结果是
[Array] => Array
(
[variable_name] => Vexed
)
谁能告诉我哪里出错了?
提前感谢任何可以提供帮助的人。
【问题讨论】:
-
我建议不要这样做,因为您可以很容易地破坏现有变量。您必须确保永远不会创建与任何使用中的变量名称相同的设置。最好将它们读入
$config数组或stdClass或类似的实例。