php - 如何用MySQL快速读取设置表?

标签 php mysql arrays

我在 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/

相关文章:

javascript - 从数组中删除除特定元素之外的元素

javascript - GatsyJS、GraphQL - 通过数组发布映射。

php - Mongodb php获取新文档的ID?

php - 代码点火器 + Composer

php - 隐藏 url 中的所有 Controller

mysql - 如何处理对 mysql 的多线程请求以获得空闲行?

php - 打开购物车 - MySQL 查询客户列表

php - 如何在 Homestead 和我的本地机器之间创建一个共享文件夹

mysql - 交叉应用对于较大的数据库不利,还是替代方案性能更好?

java - 在字符串数组中搜索子字符串并返回多个值的最有效方法?