MySQL PHPMailer 电子邮件正文中的结果
MySQL Results in Body of PHPMailer Email
我试图将 MySQL 查询的结果回显到电子邮件正文中以通过 PHPMailer 发送,但我遇到了困难。当我在页面上成功创建 table 时查询有效,但似乎无法将 table 分配给正确的变量。
我的代码:
$body = '<html>
<body>
<table>
<thead>
<tr>
<th>Food</th>
<th>Quantity</th>
<th>Category</th>
<tr>
</thead>
<tbody>'.
while($row = $resultOrderE->fetch(PDO::FETCH_ASSOC)){
echo '
<tr>
<td>$row['food']</td>
<td>$row['quantity']</td>
<td>$row['category']</td>
</tr>
';}.'
</tbody>
</table>
</body>
</html>';
我得到的错误是:
PHP Parse error: syntax error, unexpected 'while' (T_WHILE)
有什么建议吗?谢谢!
您不能将 WHILE 循环连接到字符串。
您必须在循环的每次迭代中遍历并添加到现有字符串
$html_string = '<html><body><table><thead><tr><th>Food</th><th>Quantity</th> <th>Category</th><tr></thead><tbody>';
while($row = $resultOrderE->fetch(PDO::FETCH_ASSOC)){
$html_string .=
'<tr><td>'.$row['food'].'</td><td>'.$row['quantity'].'</td><td>'.$row['category'].'</td></tr>';
}
// this will add the closing tags and now html_string has your built email
$html_string .= '</tbody></table></body></html>';
所以 .=
是重要的部分,它将一个字符串连接到现有字符串的末尾
我试图将 MySQL 查询的结果回显到电子邮件正文中以通过 PHPMailer 发送,但我遇到了困难。当我在页面上成功创建 table 时查询有效,但似乎无法将 table 分配给正确的变量。
我的代码:
$body = '<html>
<body>
<table>
<thead>
<tr>
<th>Food</th>
<th>Quantity</th>
<th>Category</th>
<tr>
</thead>
<tbody>'.
while($row = $resultOrderE->fetch(PDO::FETCH_ASSOC)){
echo '
<tr>
<td>$row['food']</td>
<td>$row['quantity']</td>
<td>$row['category']</td>
</tr>
';}.'
</tbody>
</table>
</body>
</html>';
我得到的错误是:
PHP Parse error: syntax error, unexpected 'while' (T_WHILE)
有什么建议吗?谢谢!
您不能将 WHILE 循环连接到字符串。
您必须在循环的每次迭代中遍历并添加到现有字符串
$html_string = '<html><body><table><thead><tr><th>Food</th><th>Quantity</th> <th>Category</th><tr></thead><tbody>';
while($row = $resultOrderE->fetch(PDO::FETCH_ASSOC)){
$html_string .=
'<tr><td>'.$row['food'].'</td><td>'.$row['quantity'].'</td><td>'.$row['category'].'</td></tr>';
}
// this will add the closing tags and now html_string has your built email
$html_string .= '</tbody></table></body></html>';
所以 .=
是重要的部分,它将一个字符串连接到现有字符串的末尾