php从sql结果中读取变量

时间:2015-02-01 23:32:06

标签: php string mysqli

我正在使用php中的一些动态字符串。 这应该创建一个字符串,如:

  

Hey Deben Oldert

Deben和Oldert都是变量。

$firstname = "Deben";
$lastname = "Oldert";

$body = mysqli_fetch_assoc(mysqli_query($conn, "SELECT body FROM mail WHERE type='{$_GET['type']}'"))['body'].PHP_EOL;

//The body field contains <p>Hey $firstname $lastname</p>

echo $body

输出Hey $firstname $lastname
我试过的时候

$a = 'Deben';
$b = 'Oldert';
$b = "Hey $a $b".PHP_EOL;
echo $b;

输出Hey Deben Oldert

那么为什么它不能使用mysqli_fetch结果?

1 个答案:

答案 0 :(得分:0)

PHP将解析双引号字符串并替换变量值。但它不会解析变量的内容并执行此操作。

因此,当您打印"Hey $a $b"时,它会将$a$b替换为其值。 但是当你回显$ b时,它打印出$ b中的内容 - 它不会先解析它。 同样,如果您执行'Hey $a $b',则无法解析该问题。

当您从数据库中获取模式时,通常会进行自己的替换,例如。与printf()