我有一个表保存一些sql句子。
例如:
value:`select * from table where aa='".$test."'`
<?php
$test="bbb";
$strsql=$row["sql"];
echo $strsql;
//result is :select * from table where aa='".$test."'
?>
但我想要:select * from table where aa='bbb'
帮帮我谢谢!!
你应该使用爆炸功能
$test="bbb";
$data=explode("=",$strsql);
$new_query=$data[0]."='$test'"
你可以使用eval()
功能,但我想你是新的编码器和eval()
功能是非常危险的。
根据PHP手册
注意eval()语言结构非常危险,因为它允许执行任意PHP代码。因此不鼓励使用它。如果您已仔细验证除了使用此构造之外没有其他选项,请特别注意不要将任何用户提供的数据传递到其中,而不事先正确验证它。
您可以使用eval执行此操作:(将字符串计算为PHP代码)
$test = "bbb";
$strsql = 'select * from table where aa=\'".$test."\''; // as $row["sql"];
eval("\$strsql = \"$strsql\";");
echo $strsql;