到目前为止,我将我网站所需的所有相关参数存储为php文件中的变量;然后我通过每个需要这些参数的页面中的require
语句指向此文件。
这大部分时间都很好并且很容易保持,但有时我需要“动态”更改这些变量,我觉得需要某种类型的网络面板,我可以更容易地更改它们(我正在考虑带有表单以更新参数的网页)。
所以我在我的MySQL数据库中创建了一个表来存储参数(基本上,这个表有两列:ParamName
和ParamValue
;我已经将参数名称存储为varchar 而没有开头的$ sign ),以便创建我脑海中的网络面板。
我正在考虑使用此查询提取所有参数名称和值:
$query=$mysqli->query('select * from parameters');
while($row=mysqli_fetch_assoc($query)) {
$ParamName=$row["ParamName"];
$$ParamName=$row["ParamValue"]; }
$$ParamName
?编辑:我按照建议将mysql_
语法更改为mysqli_
。
答案 0 :(得分:1)
在数据库中使用任意值作为变量引用高度有风险。你想要做的是将你的键/值存储中的数据提取到一个自包含的关联数组中,然后使用它。
这些天你也不想使用mysql_query
。请把那件事拿走。
答案 1 :(得分:0)
如果参数都是不会随时间变化的常量,则使用单个文件将它们作为常量存储在简单的关联数组中会更快。
如果这些参数发生变化,使用专门用于键值存储的数据库可能对您更有用,而不是使用标准的关系数据库。
如果您无法从关系数据库更改数据库,或者您没有经常更改这些值,则使用memcached等方法缓存它们会更快。