Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.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发送包含mysql数据的电子邮件_Mysql_Php - Fatal编程技术网

使用php发送包含mysql数据的电子邮件

使用php发送包含mysql数据的电子邮件,mysql,php,Mysql,Php,我试图使用cronjobs每周通过电子邮件将最近的条目列表发送到mysql表中一次。通常,要调用最近条目列表,我使用以下命令: $result = mysql_query("SELECT * FROM stock WHERE PurchaseDate < '$TODAY' AND PurchaseDate > '$LASTWEEK'") or die(mysql_error()); while ($list = mysql_fetch_array($result)) $result

我试图使用cronjobs每周通过电子邮件将最近的条目列表发送到mysql表中一次。通常,要调用最近条目列表,我使用以下命令:

$result = mysql_query("SELECT * FROM stock WHERE PurchaseDate < '$TODAY' AND PurchaseDate > '$LASTWEEK'")
or die(mysql_error());
while ($list = mysql_fetch_array($result))
$result=mysql\u查询(“从PurchaseDate<'TODAY'和PurchaseDate>'LASTWEEK'的股票中选择*)
或者死(mysql_error());
而($list=mysql\u fetch\u数组($result))
但很明显,我无法将此代码放入php邮件中的
$message
变量中


有什么想法吗?

邮件函数接受一个字符串,然后返回一个数组

所以你需要对它进行内爆
内爆(“,”,$list)或使用结果集生成字符串

您应该使用PHPMailer、Zend Mail或Swift_-Mailer库,这些库更安全,例如可以防止头插入。

$result=mysql_查询(“从PurchaseDate<'TODAY'和PurchaseDate>'LASTWEEK'的库存中选择*)或死亡(mysql_error());
$result = mysql_query("SELECT * FROM stock WHERE PurchaseDate < '$TODAY' AND PurchaseDate > '$LASTWEEK'") or die(mysql_error());
$entries = 'Entries: '; 
while ($list = mysql_fetch_array($result)) {
    $entries .= $list[entry] . ', ';
}

mail('someone@test.com', 'Stock', $entries);
$entries='entries:'; 而($list=mysql\u fetch\u数组($result)){ $entries.=$list[entry].,'; } 邮件('someone@test.com“,”股票“,$分录);
这只是一个例子。不确定您的表是什么样子。

试试看{
try {

$result = mysql_query("SELECT * FROM your_table WHERE blank = 'blank' AND blank2 ='blank2'");
$num_rows = mysql_num_rows($result);

if($num_rows < 1) {
    throw new Exception('There is no user who qualifies...');
}
if(!$result) {
throw new Exception('An Error Occurred..');
}

//mail off whatever you need to each user that qualifies based on your query criteria..

while($row = mysql_fetch_array($result)) {
$firstname = stripslashes($row['firstname']);
$lastname = stripslashes($row['lastname']);
$email = stripslashes($row['email']);
//and any other variables you need for the email...

$subject = 'Some Subject';
$message = 'Hello '.$firstname.' blah..blah...';

mail($email, $subject, $message);
//do something else...
echo 'All users emailed.';
}

}

catch (Exception $e) {

echo $e->getMessage();

}
$result=mysql_查询(“从您的_表中选择*,其中blank='blank'和blank2='blank2'); $num\u rows=mysql\u num\u rows($result); 如果($num_行<1){ 抛出新异常('没有符合条件的用户…'); } 如果(!$result){ 抛出新异常('发生错误..'); } //根据您的查询条件,将您需要的任何内容发送给符合条件的每个用户。。 while($row=mysql\u fetch\u数组($result)){ $firstname=stripslashes($row['firstname']); $lastname=stripslashes($row['lastname']); $email=stripslashes($row['email']); //以及电子邮件所需的任何其他变量。。。 $subject='Some subject'; $message='Hello'.$firstname.'blah..blah…'; 邮件($email,$subject,$message); //做点别的。。。 回显“所有用户通过电子邮件发送”; } } 捕获(例外$e){ echo$e->getMessage(); }
。它们不再得到维护。看到了吗?改为了解,并使用或-将帮助您决定哪个。当我这样做时,它会起作用,但它只显示第一个结果。现在意识到..您只需要条目,而不是每个用户…抱歉。我只有几秒钟的时间扫描你的请求。