php mysql设置/配置表调用值

mspsb9vt  于 2021-06-18  发布在  Mysql
关注(0)|答案(3)|浏览(216)

谁能帮我一下吗。
我有一个名为settings的mysql表,其中包含一些配置信息(布局如下):

+----+--------------+---------------+
| id | setting      | value         |
+----+--------------+---------------+
|  2 | partemail    | @example.com  |
|  3 | version      | 2.1           |
|  4 | altrowcolour | #ffeff0       |
+----+--------------+---------------+

现在我想在php中做的是

"SELECT * from settings"

但是让它循环并将值赋给一个变量,这样我就可以在整个脚本中调用这些变量,但在setting列下将该变量命名为what。
所以:
$partemail等于“@example.com”
$version将等于“2.1”
$AltrowColor将等于“#ffef0”
因此,我尝试了以下方法:

$sql = "SELECT * FROM settings";
$result = $mysqli->query($sql);

$config = array();
$result = mysql_query("SELECT * FROM config");
while ($row = mysql_fetch_assoc($result)) {
    $config[$row['name']] = $row['value'];
}

但这并没有真正起作用。
任何人都可以帮助,道歉,如果以上不是最好的做法,我不是开发人员。
提前谢谢你的帮助。
j

6tr1vspr

6tr1vspr1#

其他人的最终代码是:

$sql3 = "SELECT * FROM settings";
$result3 = $mysqli->query($sql3);

if ($result3->num_rows > 0) {
while ($row3 = $result3->fetch_assoc()){
    $config[$row3['setting']]=$row3['value'];
}
}

echo $config['version'];
echo "<br>";
echo $config['partemail'];
echo "<br>";
echo $config['altrowcolour'];
nfs0ujit

nfs0ujit2#

好吧,你取回了错误的列名。

$result = mysql_query("SELECT * FROM config");
$config = array();
while ($row = mysql_fetch_assoc($result)) {
    $value = $row['value'];
    $setting = $row['setting'];
    $config[] = ['setting' => $setting, 'value' => $value];
}

编辑
仅使用mysqli

$conn = new mysqli($servername, $username, $password, $dbname);    
$sql = "SELECT * FROM config";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        $value = $row['value'];
        $setting = $row['setting'];
        $config[] = ['setting' => $setting, 'value' => $value];
    }
}
$conn->close();

您可以像这样回显内容:

echo $config[0]['setting'];
echo $config[0]['value'];
ckocjqey

ckocjqey3#

你的设置名称是“设置”,而不是“名称”

$sql = "SELECT * FROM settings";
$result = $mysqli->query($sql);

while ($row = mysql_fetch_assoc($result)) {
    $config[$row['setting']] = $row['value'];
}

相关问题