我在 MySQL 上得到了一个包含 4 列的“设置”表:
ID|Variable|Value |Description
-------------------------------
1 |setting1|value1|Description1
2 |setting2|value2|Descritpion2
3 |setting3|value3|Description3
等等...
我需要提取每个设置,并用它创建一个变量(与设置同名)为其分配相应的值。 例如
echo $setting1;
应该返回:值1
等等
这应该避免大量查询,例如
SELECT * FROM setup WHERE Variable LIKE 'setting1'
我确实尝试过这样的事情:
$query = "SELECT * FROM setup";
$sth = $sql->prepare($query);
$sth->execute();
while($row = $sth->fetch(PDO::FETCH_ASSOC)){
$$row[Variable] = $row[Value];
echo $setting1;
}
但它什么也没返回
请问有什么办法可以获取吗?
提前致谢
最佳答案
循环中存在语法错误。索引应该用引号引起来。尝试以下代码:
while($row = $sth->fetch(PDO::FETCH_ASSOC)){
${$row["Variable"]} = $row["Value"];
echo $setting1;
}
关于php - 如何用MySQL快速读取设置表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49665219/