我正在尝试通过PHP发送电子邮件,电子邮件正文存储在MYSQL数据库中。出于某种原因,当我将主体硬编码为字符串时,它将“\ n”之类的字符转换为段落,但是当它从MYSQL数据库中提取时,它会留下“\ n”。任何人都知道为什么会这样以及如何解决它?我已经尝试将其转换为字符串,但无济于事。
代码:
$stmt = $conn->prepare("SELECT * FROM Tickets LIMIT 1");
$stmt->execute();
while($ticket = $stmt->fetch(PDO::FETCH_ASSOC)) {
$ticket_queue_id = $ticket["ticket_queue_id"];
$subject = "test";
$body = $ticket["body"];
$headers = "From: Email";
mail($recipient,$subject,$body,$headers);
echo "Sent test";
}
“Tickets”是一个MYSQL表,其中$ ticket [“body”]存储为varchar。
在电子邮件中,上面的代码在正文中提供了“Hello \ n \ world”,
虽然
$subject = "test";
$body = $ticket["body"];
$headers = "From: Email";
mail($recipient,$subject,$body,$headers);
看起来像:
“你好
世界“
谢谢!
答案 0 :(得分:0)
找到答案!必须使用stripcslashes封装$ ticket [" body"]。从这里找到:PHP: Convert single-quoted string into double-quoted