php - 如何在 SQL 中存储 PHP 变量,以便在检索时它仍然是一个变量(而不是一个值)

标签 php mysql sql

我想在 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/

相关文章:

php GLOBALS session 文件

javascript - 使用 Twitter/typeahead.js 在 SELECT 查询中合并 SQL LIKE

mysql - 如何在 MySQL 数据库中插入文件?

php - 在 AJAX 加载的 DIV 中运行 javascript

javascript - 一项功能的多次 onclick

php - 如何同时从两个表中获取数据 PDO

php - MySQL Select - 连接所有匹配的表

php - MySql PHPmyadmin 错误 #1062

sql - 如何将大量数据从旧数据库迁移到新数据库

mysql - 搜索 3 个值的组合