Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MySQL数据库中存储PHP代码_Php_Mysql - Fatal编程技术网

在MySQL数据库中存储PHP代码

在MySQL数据库中存储PHP代码,php,mysql,Php,Mysql,我必须发送电子邮件,电子邮件可以格式化并存储在数据库中。但问题是,我必须在电子邮件中使用一些变量,使其成为每个用户的动态电子邮件 INSERT INTO email (greeting) VALUES ( "Hello $name"); $coding = mysql_query("SELECT * FROM email ") or die(mysql_error()); $email = mysql_fetch_array( $coding ); echo $email['greet

我必须发送电子邮件,电子邮件可以格式化并存储在数据库中。但问题是,我必须在电子邮件中使用一些变量,使其成为每个用户的动态电子邮件

INSERT INTO email (greeting) VALUES ( "Hello $name"); 

$coding = mysql_query("SELECT * FROM email ") or die(mysql_error()); 
$email = mysql_fetch_array( $coding ); 

echo $email['greeting']; 
它应该呼应Hello PERSONS_的名字;像Hello John,但它呼应Hello$name,因为它是


不行,有什么帮助吗

您最好使用占位符,然后在发送电子邮件时用动态文本替换占位符:

INSERT INTO email (greeting) VALUES ( "Hello %%NAME%%");

$coding = mysql_query("SELECT * FROM email ") or die(mysql_error()); 
$email = mysql_fetch_array( $coding ); 

$email['greeting'] = str_replace('%%NAME%%', $name, $email['greeting']);

echo $email['greeting'];

你的标题说明了一些事情,你的身体说明了一些其他的事情。看起来你想要一个电子邮件模板。通常,您会使用“live”值替换字符串中的占位符值。所以
echo str_替换(“$name”、$name、$email['greeting'])
。虽然您不必使用$name作为占位符;只是任何字符串,将是唯一的在您的电子邮件。实际上,您并没有在数据库中存储“PHP代码”。这就是你想要的东西吗?另外:请不要使用老的mysql扩展。@MattGibson的可能重复它并不是这个问题的真正重复,因为它专注于将模板存储在数据库中,而不是代码中。(关于放置这些东西的“正确位置”的争论放在一边。)非常感谢,这对我帮助很大,但我不确定你们是否投票否决了我的问题??