Php 声明并为存储在表中的变量赋值
我有一个只包含变量的表Php 声明并为存储在表中的变量赋值,php,mysql,variables,Php,Mysql,Variables,我有一个只包含变量的表vars。共有三列: id-id name-变量名 val-变量值 我需要声明变量并给它们相应的值,比如: $stmt = $db->query("SELECT * FROM vars order by id asc"); while($row = $stmt->fetch()){ '$' . $row['name'] = "'" . $row['val'] . "'"; } echo $somevariable... 有什么帮助吗 $stmt =
vars
。共有三列:id
-idname
-变量名val
-变量值
我需要声明变量并给它们相应的值,比如:
$stmt = $db->query("SELECT * FROM vars order by id asc");
while($row = $stmt->fetch()){
'$' . $row['name'] = "'" . $row['val'] . "'";
}
echo $somevariable...
有什么帮助吗
$stmt = $db->query("SELECT * FROM vars order by id asc");
while($row = $stmt->fetch()){
${$row['name']} = $row['val'];
}
试试这个
但是,您需要确保$row['name']符合PHP变量命名要求我想您应该这样做
$$row['name'] = $row['val'];
试试这个
${$row['name']} = $row['val'];
它起作用了。任何关于符合PHP的
的链接…
,PHP变量的规则:变量以$符号开头,后跟变量名称变量名称必须以字母或下划线字符开头变量名称不能以数字开头变量名称只能包含字母数字字符和下划线(A-z,0-9和)@bonaca:你是在把我的代码放在你的循环中吗?根据PHP文档,我的解决方案应该是正确的。()是的,我当然试过了。所有变量在回显时都是未定义的。