变量名作为php中字符串使用的输入

时间:2017-04-05 13:04:04

标签: php mysql

假设我们想要输入一个输入,以便程序理解我们使用的变量。例如:

$name=$_POST['name'];

$p='...';

$sqlLogin= "SELECT user_id FROM user WHERE username=' ".$name." ' ";

如果输入为{$p},则不打印变量,而是结果为:

SELECT user_id FROM user WHERE username='{$p}'

程序是否有办法将{$ p}理解为变量(通过输入),就像它一样 我们写的时候

 $sqlLogin= "SELECT user_id FROM user WHERE username='{$p}'"; 

2 个答案:

答案 0 :(得分:0)

只是为了证明这个概念:

$name = '{$p}';

$p= 'MYVALUE';

echo eval("return \"".eval("return 'SELECT * FROM tblname WHERE username =\'$name\'';").'";');

结果:

  

SELECT * FROM tblname WHERE username =' MYVALUE'

但请尽量避免使用eval();

度过愉快的一天;

答案 1 :(得分:-1)

你需要使用eval()函数,因为变量是一个字符串,所以代码就是这样处理它,但你希望字符串作为代码运行。

eval("$sqlLogin = \"SELECT user_id FROM user WHERE username='{$p}'\"")