Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php邮件程序使用SQL表发送电子邮件_Php_Mysql - Fatal编程技术网

Php邮件程序使用SQL表发送电子邮件

Php邮件程序使用SQL表发送电子邮件,php,mysql,Php,Mysql,我喜欢独自学习和做事,但我遇到了一个我不知道如何解决的难题 我正在尝试为一个公告系统编写一个php群发邮件程序,我可以通过一个按钮在管理页面中激活它 下面是当前脚本的外观 function sendStreamAnnounce(){ global $database, $session, $mailer, $form; $q = "SELECT username,email" ."FROM ".TBL_USERS.""; $result = $da

我喜欢独自学习和做事,但我遇到了一个我不知道如何解决的难题

我正在尝试为一个公告系统编写一个php群发邮件程序,我可以通过一个按钮在管理页面中激活它

下面是当前脚本的外观

function sendStreamAnnounce(){
  global $database, $session, $mailer, $form;      
    $q = "SELECT username,email"
        ."FROM ".TBL_USERS."";
    $result = $database->query($q);
    $num_rows = mysql_numrows($result);

   for($i=0; $i<$num_rows; $i++){
    $email  = mysql_result($result,$i,"email");

     /* Attempt to send the email with new password */
     if($mailer->sendStreamAnnounce($email))
    $_SESSION['mailed'] = true;
          else{
    $_SESSION['forgotpass'] = false;

     }
      header("Location: ".$session->referrer);
    }
}
函数sendStreamAnnounce(){
全局$database、$session、$mailer、$form;
$q=“选择用户名、电子邮件”
“来自”。TBL_用户。”;
$result=$database->query($q);
$num\u rows=mysql\u numrows($result);
对于($i=0;$IsEndStreamAnnound($email))
$\u会话['mailed']=true;
否则{
$\会话['forgotpass']=false;
}
标题(“位置:“.$session->referer”);
}
}
当前的设置留给我这个

我从一个“我忘了我的密码”php脚本中改编了这个脚本,这个脚本是我正在使用的一个教程式后端。我意识到像“$\u SESSION”这样的东西可能是不需要的

欢迎任何帮助!我知道很多人不喜欢用勺子喂食,所以暗示对我也有很大帮助

提前谢谢你们

编辑:我自己/在阿伦的帮助下修复了它

 function sendStreamNotice(){
  global $database, $session, $mailer, $form;      
    $q = "SELECT username,email "
        ."FROM ".TBL_USERS."";
    $result = $database->query($q);
    $num_rows = mysql_num_rows($result);
  if(!$result || ($num_rows < 0)){
  echo "Error displaying info";
  return;
}
  if($num_rows == 0){
  echo "Database table empty";
  return;
}

for($i=0; $i<$num_rows; $i++){
    $email  = mysql_result($result,$i,"email");
    $user = mysql_result($result,$i,"username");

     /* Attempt to send the email with new password */
     if($mailer->sendStreamNotice($user,$email))
    $_SESSION['mailed'] = true;
          else{
    $_SESSION['forgotpass'] = false;

     }
      header("Location: ".$session->referrer);
    }
}
函数sendStreamNotice(){
全局$database、$session、$mailer、$form;
$q=“选择用户名、电子邮件”
“来自”。TBL_用户。”;
$result=$database->query($q);
$num\u rows=mysql\u num\u rows($result);
如果(!$result | |($num_行<0)){
echo“显示信息时出错”;
返回;
}
如果($num_rows==0){
echo“数据库表为空”;
返回;
}
对于($i=0;$isendStreamNotice($user,$email))
$\u会话['mailed']=true;
否则{
$\会话['forgotpass']=false;
}
标题(“位置:“.$session->referer”);
}
}
电子邮件通过得很好


使用
$num\u rows=mysql\u num\u rows($result)
而不是
mysql\u numrows($result)

哦,嘿,我自己/在阿伦的帮助下修好了!检查修改后的原始文章的工作脚本!