存储对SQL表中变量的引用

时间:2014-01-21 13:03:41

标签: php sql

如何在SQL表中存储对变量的引用?我有这段代码:

$id = 10;
$variable_value = 'real value';
$connect_db=mysqli_connect('localhost', 'this', 'that', 'a_table');
$result = $connect_db->query("SELECT * FROM the_table where id = '$id'");
$row = $result->fetch_assoc();
$the_function = $row['trigger']; // this row has a value '$variable_value' (w.o quotes)
echo '$the_function:'.$the_function.'<br>'; // echoes '$variable_value'

有可能让它回应“真正的价值”吗?

2 个答案:

答案 0 :(得分:1)

您可以使用变量来双重评估数据库值中的内容:

$the_function = "variable_value";

echo $$the_function;

输出

real value

请注意,您不需要使用$添加数据库值,只会使问题复杂化。

另外你称之为“the_function”的事实让我觉得你想用它来调用一个名字就是变量的函数......你也可以这样做!

function variable_value() {
   echo "real value"; 
}
$the_function();

以下是两种方法:

https://eval.in/92869

答案 1 :(得分:0)

尝试:

 $the_function = $row['trigger']; // this row has a value '$variable_value' (w.o quotes)
 $the_function = ltrim($the_function,'$');
 echo '$the_function:'.${$the_function}.'<br>'; 

它被称为变量变量名。 Reference

为此,必须删除$。所以我从你的$the_function中删除它并使用${$<variable_name>}将其作为其值的变量引用。