我想在 SQL 中保存一个字符串,以便每次调用它时,字符串的一部分是一个变量。例如,如果字符串是“Hello my name is $name”,我想保存它以便无论何时检索它,$name 仍然是一个变量:
$name = "Doug";
$row = mysql_fetch_array($mysql_query_result);
$message = $row['message']; // "Hello, my name is $name."
echo $message; // "Hello, my name is Doug."
一种方法是:
str_replace('$name', $name, $message); // called before echo
我对可变变量一直不太满意,但据我了解,可以使用它们为 str_replace 方法创建一个通用函数。
我的问题是这是否有必要?有没有更简单的方法在 SQL 中存储变量并使其保持可变?
最佳答案
您可以将其作为 sprintf
的格式字符串。
$name = "Doug";
$row = mysql_fetch_array($mysql_query_result);
$message = sprintf($row['message'], $name); // "Hello, my name is %s."
echo $message; // "Hello, my name is Doug."
或者如您所说的str_replace
。
关于php - 如何在 SQL 中存储 PHP 变量,以便在检索时它仍然是一个变量(而不是一个值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7786950/