将 QueryFetchArrayAll 转换为 mysqli

问题描述 投票:0回答:1

有人可以帮我将此查询转换为 Mysqli 吗?

/* Load website settings */
$config = array();
$configs = $db->QueryFetchArrayAll("SELECT config_name,config_value FROM `site_config`");
foreach ($configs as $con)
{
    $config[$con['config_name']] = $con['config_value'];
}
unset($configs); 

此代码放置在 main.php 文件中,该文件会被调用到每个必要的页面。它包括所有必要的功能以及数据库连接。

我已经尝试过:

$query = "SELECT config_name, config_value FROM site_config";
$result = mysqli_query($con, $query);
$config = mysqli_fetch_array($result, MYSQLI_ASSOC);
printf("%s (%s)\n", $config["config_name"], $config["config_value"]);

这基本上是有效的,因为值被打印出来,但如果我这样做:

My website title is: About <?=$config['site_name']?>

我得到了

警告:未定义的数组键“site_name”

我有:site_name作为config_name,我的网站作为config_value。

请不要告诉我阅读关联或通用数组教程,因为我已经花了几个小时阅读它们。谢谢

php mysqli
1个回答
0
投票

文档明确指出:

返回表示所获取行的关联数组,其中数组中的每个键表示结果集的某一列的名称,如果结果集中没有更多行,则返回 null,如果失败则返回 false。

您拥有带有

config_name
config_value
键的数组,但尝试访问
site_name
键,该键显然不存在。

您必须迭代数组并检查

if ($config["config_name"] == "site_name")
并采取相应行动。

© www.soinside.com 2019 - 2024. All rights reserved.