从记录集中为变量赋值

时间:2013-09-24 04:47:12

标签: php sql

我很抱歉,但我对PHP非常陌生,我正在尝试创建一个非常简单的表单,当用户输入他们的电子邮件地址时,会向用户发送电子邮件。我希望消息包含我们数据库中的一些数据。只要我手动输入消息(例如$message = "Hi. How you doing?"),我就能够创建一个完美运行的表单,但我似乎无法弄清楚如何合并记录集数据。我希望用的是... ...

<?php 
  $to = $_REQUEST['Email'] ; 
  $message = '<?php echo $row_rsPersonUser['bio']; ?>';   <<<<<<<<Line 63

  $fields = array(); 
  $fields{"Email"} = "Email"; 

  $headers = "From: noreply@domain.ca"; 
  $subject = "Thank you"; 

  mail($to, $subject, $message, $headers); 
?> 

我从中获得的是“解析错误:语法错误,第63行的......中的意外T_STRING”。我知道它的格式错误,但我不知道为什么。当我放入身体时,我想要的信息会显示在网页上,所以我知道该部分正在工作。任何帮助都会受到欢迎。

由于

4 个答案:

答案 0 :(得分:0)

您不必在PHP代码本身中使用PHP开始和结束标记

$message = '<?php echo $row_rsPersonUser['bio']; ?>';   // this is wrong
            ^^^^^                                ^^ 

应该是

$message = $row_rsPersonUser['bio'];

答案 1 :(得分:0)

只需更改第63行,如下所示。

您无法在另一个<?php块中启动一个<?php

$message = $row_rsPersonUser['bio'];

答案 2 :(得分:0)

如果您这样做,它只会打印<?php echo…作为文字,因为您不能将PHP代码作为电子邮件仅发送html /计划文本

$message = '<?php echo $row_rsPersonUser['bio']; ?>';

应该是:

$message = $row_rsPersonUser['bio']; 

和(我测试了以下内容,它显示{}的工作,但您可能只想切换到[]进行标准化,不确定以后是否会遇到麻烦? )

FROM:http://us1.php.net/manual/en/language.types.array.php

  

注意:   方括号和花括号可以互换使用来访问数组元素(例如$ array [42]和$ array {42}在上面的例子中都会做同样的事情。)

$fields{"Email"} = "Email";

应该是:

$fields["Email"] = "Email";

答案 3 :(得分:0)

您已经在PHP代码中,无需在变量名称中添加额外的php开始和结束标记。与使用$ to变量的方式类似,您可以使用$ message变量。 所以使用

$message = $row_rsPersonUser['bio']; 

它会正常工作。