我已经测试了这段代码,使用本地服务器的工具发送电子邮件,它工作正常,但在"from"部分我没有得到发件人的电子邮件,因为它应该打印在那里作为结果$email,而是我得到了这个输出"from: Resource id #6 ",到底是什么问题,因为查询似乎很好,工作?
这部分代码
$Load=$_SESSION['login_user'];
$smail= "Select email from teacher where TID = $Load ";
$errors = '';
$email= mysql_query($smail);
if(
empty($_POST['email']) ||
empty($_POST['message']))
{
$errors .= "'n Error: all fields are required";
}
$email_address = $_POST['email'];
$message = $_POST['message'];
if (!preg_match("/^[_a-z0-9-]+('.[_a-z0-9-]+)*@[a-z0-9-]+('.[a-z0-9-]+)*('.[a-z]{2,3})$/i", $email_address))
{
$errors .= "'n Error: Invalid email address";
}
if( empty($errors))
{
$to = $email_address;
$email_subject = "New mail from admin";
$email_body = "You have received a new message. ".
" Here are the details:'n From: $email 'n Message 'n $message";
$headers = "From: $email'n";
$headers .= "Reply-To: $email_address";
$sent = mail($to,$email_subject,$email_body,$headers);
}
执行查询后没有获取记录,请尝试以下操作
$result = mysql_fetch_assoc(mysql_query($smail));
$email = $result['email']
使用mysql_fetch_assoc
$result = mysql_fetch_assoc(mysql_query($email));
$email = $result['email']
你必须先获取你的结果。
$result= mysql_query($email);
$row=mysql_fetch_object($result);
$email=$row->email;