从数据库

时间:2016-02-12 08:17:20

标签: php database variables

我有点困惑 - 如何将变量名存储到数据库?! 数据库中的记录是一个字符串:"$test"

变量$ user在从数据库获取的记录之前设置。所以我想"转换"这个字符串到一个实数变量来获取它的值。

以下没有成功:

// $test is set to 'bla'
$test = 'bla';
// $var is the value from the database
$var = '$test';
// print $test
echo ${$var};

我知道如果我删除了' $'来自数据库记录

$var = 'test';
echo $$var;

但是如何处理这个问题呢?

3 个答案:

答案 0 :(得分:1)

在更好的选项中替换字符串,如果您不想替换$,可以使用eval函数:

$test = 'bla';
$var = '$test';

eval("\$var = \"$var\";");

echo $var; //output: bla

答案 1 :(得分:0)

我刚才面临类似的问题。 这是我做的: $ res [0]是从mysql_fetch_array()获得的,它包含另一个嵌入$ variable的查询。

$qry="select query from sql_list where id=".$sql_id;
$result=mysql_query($qry);
$res=mysql_fetch_array($result);
eval("\$qry_2 = \"$res[0]\";");
mysql_query($qry_2)

有效!也许有人可以提出更好的方法。

答案 2 :(得分:0)

这是3年后的事,但由于没人能给您答案,也许这将对您或下一个搜索此问题的人有所帮助。

据我了解,您已经声明了一个变量并将该var的名称存储在数据库中。

$var = '$test'; // from db
$var[0] = ''; // remove first letter, simple & much faster than ( trim or substr )

//content of var
$var_content = ${$var};