我得到了一个"设置"有4列的MySQL表:
ID|Variable|Value |Description
-------------------------------
1 |setting1|value1|Description1
2 |setting2|value2|Descritpion2
3 |setting3|value3|Description3
等等......
我需要提取每个设置并使用它,创建一个变量(使用相同的设置名称)为其分配相应的值。 例如
echo $setting1;
应该返回:value1
等等
这应该避免大量的查询,比如
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;
}
但它什么都不返回
有没有办法得到它,拜托?
提前致谢
答案 0 :(得分:0)
循环中出现语法错误。索引应该在引号中。尝试以下代码:
while($row = $sth->fetch(PDO::FETCH_ASSOC)){
${$row["Variable"]} = $row["Value"];
echo $setting1;
}