我不知道这是什么,不按我想要的方式工作..我有一个包含一些记录的数据库,而且查询只显示第一行,而不是全部。
<?php
$con=mysqli_connect("localhost"," "," "," ");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM programari");
$to = "my_email@yahoo.com";
$subject = "testing mail";
while($row = mysqli_fetch_array($result))
{
$body= $row['cand'];
}
if (mail($to, $subject, $body)) {
echo("<p>Email successfully sent!</p>");
} else {
echo("<p>Email delivery failed…</p>");
}
?>
答案 0 :(得分:4)
您不小心分配到$body
而不是连接。简短又甜蜜:
$body .= $row['cand'];
编辑:您还应该在循环之前将$body
初始化为空字符串,以避免在第一次运行时发出通知。
答案 1 :(得分:2)
你确定它没有显示最后一行而不是第一行吗?看起来您需要使用点.
将字符串连接到正文而不是直接指定它。
$body .= $row['cand'];
这会将每个$row['cand']
追加到$body
的末尾。您可以使用分隔符在您的电子邮件中将其分解为:
$body .= $row['cand']."\n";
答案 2 :(得分:1)
每次跑步时,你的问题就是被身体覆盖。
在while和inside之前初始化为空字符串,同时使用$ body。= $ row ['cand'];