PHP“nothing”字符

PHP“nothing”字符,php,string,variables,Php,String,Variables,我喜欢在字符串中嵌入变量-我喜欢在字符串中嵌入$verb$noon 但后来我设计了一个数据库访问脚本: $sqlfragment = "SELECT * from " . $databasetableprefix . "_user"; 可爱。但是我在字符串中嵌入变量时发生了什么 我想这样做: $sqlfragment = "SELECT * from $databasetableprefix_user"; 但这将被解释为来自变量$databasetableprefix_user 所以我会使用

我喜欢在字符串中嵌入变量-我喜欢在字符串中嵌入$verb$noon

但后来我设计了一个数据库访问脚本:

$sqlfragment = "SELECT * from " . $databasetableprefix . "_user";
可爱。但是我在字符串中嵌入变量时发生了什么

我想这样做:

$sqlfragment = "SELECT * from $databasetableprefix_user";
但这将被解释为来自变量$databasetableprefix_user

所以我会使用一个空格:

$sqlfragment = "SELECT * from $databasetableprefix _user";
但数据库表名中不允许使用空格,因此这不起作用

我想要的是这个结果字符串:如果cc是前缀,请从cc_user中选择*


我可以使用变量嵌入创建此字符串吗?可能是一种“nothing”字符,它会阻止PHP认为它是变量名的一部分,但不会传递到SQL?

将变量包装为{}如下所示:

$sqlfragment = "SELECT * from {$databasetableprefix}_user";

$sqlfragment=SELECT*来自{$databasetableprefix}\u用户

必须使用大括号告诉PHP变量名的开始和结束位置,如图所示

另外,在使用变量生成SQL语句时要非常小心,因为如果不仔细跟踪变量的来源或验证其值,很容易造成安全风险

$sqlfragment = "SELECT * from {$databasetableprefix}_user";