php mysql更新一行并发送包含更新信息的电子邮件

时间:2014-04-15 12:27:45

标签: php mysql email

我正在尝试更新数据库中的一行,并向用户发送包含更新信息的电子邮件。当我分开这两个代码时,它们会起火作用。但结合起来他们不工作。 我生成一个随机数,将被更新到数据库中,并且像我说的那样随机发送给用户本身。

<?php
    $kcr = mt_rand(10000,1000000);
        $to = $_GET['to'];

        $headers = "MIME-Version: 1.0" . "\r\n";
        $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
        $headers .= 'From: <account@directofficesupport.com>' . "\r\n";

        $subject = "Uw account is successvol aangemaakt!";

        //begin body message
        $body = '<b><h4><font face="verdana">Bedankt voor uw registratie op DirectOfficeSupport.com, Uw account is successvol aangemaakt!</font></h4></b><p>';
        $body .= '<font face="verdana">Uw unieke verificatiecode: <b> '.$kcr.'</b><p>';



        //end body message
         $from = 'account@directofficesupport.com';
         (mail($to, $subject, $body, $headers)) 



    <?php mysql_connect("localhost", "pp_12034_23", "BireBA82R5Nd") 
    or die("Connection Failed"); mysql_select_db("db_12034_23")or die("Connection Failed");



     $query = "UPDATE voskousers SET Kc = '$kcr' WHERE Email = '$to'"; if(mysql_query($query)){} else{ echo "fail";} 
             ?> 

当我尝试将这两个代码组合在一起时,我得到一个白色屏幕。 我希望有人有解决方案。

3 个答案:

答案 0 :(得分:0)

你有一些括号/圆括号太多而且分号中缺少一个分号:

(mail($to, $subject, $body, $headers))
^                                    ^^

更改为

mail($to, $subject, $body, $headers);

<强>脚注:

mysql_*函数弃用通知:

http://www.php.net/manual/en/intro.mysql.php

从PHP 5.5.0开始,不推荐使用此扩展,不建议用于编写新代码,因为将来会删除它。相反,应使用mysqliPDO_MySQL扩展名。在选择MySQL API时,另请参阅MySQL API Overview以获得进一步的帮助。

这些功能允许您访问MySQL数据库服务器。有关MySQL的更多信息,请访问»http://www.mysql.com/

可以在»http://dev.mysql.com/doc/找到MySQL的文档。

答案 1 :(得分:0)

尝试这些更正 -

if(mail($to, $subject, $body, $headers))
{
  echo "mail sent";
}

query-

中的一些变化
$query = "UPDATE voskousers SET Kc = '".$kcr."' WHERE Email = '".$to."'";

 if(mysql_query($query)){ 
       echo "updation succesfull";
 }

答案 2 :(得分:0)

http://webnaar.wordpress.com/2014/03/17/smtp-mailler-for-php/ 尝试这个它将100%工作 你也可以从本地发送邮件