我正在寻找配置/详细信息文件的解决方案。我发现this解决方案很有趣,但我不想对值进行硬编码,而是想从数据库中检索它们。
我也是 PDO 新手,但目前我的解决方案如下(config.php):
try {
$db = new PDO('mysql:host=localhost;dbname=dbname;charset=utf8', 'user', 'pwd');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $db->query("SELECT name, value FROM config");
$configs = $stmt->fetchAll();
return [
array_column($configs, 'value', 'name')
];
} catch(PDOException $e) {
echo "Error: ".$e->getMessage();
}
然后我得到这样的回复:
Array ( [0] => Array ( [SITENAME] => Pionérhytta [MAXGUESTS] => 5 ) )
我需要这样写才能获取值(index.php):
<?php $config = include('../config/config.php'); ?>
...
<?=$config[0]['SITENAME']?>
这可行,但我想删除 [0] 并写入 $config['SITENAME'] 来获取值。
有什么解决办法吗?
提前感谢您的帮助
最佳答案
您的array_column()
返回一个关联数组。没有必要将其包装在另一个数组中:
return array_column($configs, 'value', 'name');
关于php - 如何仅在一个数组中从数据库返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49539942/