kahodges Posted November 18, 2010 Share Posted November 18, 2010 Here is the code I have so far: <?php include('database.inc.php'); // Our database connectivity file ?> <?php $reminder_date = 't1.reminder_date'; $email = 'lp_reminder_email'; $reminder_name = 't1.reminder_name'; $reminder_details = 't1.reminder_desc'; $result = mysql_query($sql) or die(mysql_error()); $sql = "SELECT t1.`reminder_id` , t1.`reminder_name` , t1.`reminder_desc` , t1.`reminder_date` , t1.`reminder_email` , lp4.`email` AS `lp_reminder_email` FROM `reminder_events` AS t1 LEFT OUTER JOIN `authorize` AS lp4 ON ( t1.`reminder_email` = lp4.`email` ) WHERE reminder_date <= NOW() ORDER BY `reminder_date` ASC"; $result = 'mysql_num_rows'; while( $row = mysql_fetch_array( $result ) ) if( !empty( $nr ) ) ?> <?php $to = $row[$email]; $from = $row[$email]; $headers = $from; $subject = $row[$reminder_name]; $body = $row[$reminder_details]; { $send = @mail($to, $subject, $body, $headers); } ?> The sql query when run through phpMyAdmin returns a result. When I open this in the browser, it says "Query is empty". Anyone want to help a newb out and show me what I'm doing wrong? I'd like for it to pull the data out of these fields and send it via e-mail. What would be even better is if I could get it to do this the day before the `reminder_date`. I can set it up so cron runs the script, I just need to get the script to work first. Thanks in advance for your help. Link to comment https://forums.phpfreaks.com/topic/219088-php-sending-e-mail-problem/ Share on other sites More sharing options...
Pikachu2000 Posted November 18, 2010 Share Posted November 18, 2010 You should be developing with error reporting enabled . . . You're executing the query before the query string is defined. $result = 'mysql_num_rows'; (?!?) $nr is undefined in that code Link to comment https://forums.phpfreaks.com/topic/219088-php-sending-e-mail-problem/#findComment-1136109 Share on other sites More sharing options...
kahodges Posted November 18, 2010 Author Share Posted November 18, 2010 O.K., I enabled error reporting, and now it's not throwing any errors. However, it does not seem to be sending out the e-mail. Here is what I have now: <?php ini_set('display_errors',1); error_reporting(E_ALL); include('database.inc.php'); // Our database connectivity file ?> <?php $reminder_date = 't1.`reminder_date`'; $email = 'lp4.`email`'; $reminder_name = 't1.`reminder_name`'; $reminder_details = 't1.`reminder_desc`'; $sql = "SELECT t1.`reminder_id` , t1.`reminder_name` , t1.`reminder_desc` , t1.`reminder_date` , t1.`reminder_email` , lp4.`email` AS `lp_reminder_email` FROM `reminder_events` AS t1 LEFT OUTER JOIN `authorize` AS lp4 ON ( t1.`reminder_email` = lp4.`email` ) WHERE reminder_date <= NOW( ) ORDER BY `reminder_date` ASC"; $result = mysql_query($sql) or die(mysql_error()); while( $row = mysql_fetch_array( $result ) ) ?> <?php $to = $row[$email]; $from = $row[$email]; $headers = $from; $subject = $row[$reminder_name]; $body = $row[$reminder_details]; { $send = @mail($to, $subject, $body, $headers); } ?> Link to comment https://forums.phpfreaks.com/topic/219088-php-sending-e-mail-problem/#findComment-1136125 Share on other sites More sharing options...
kahodges Posted November 19, 2010 Author Share Posted November 19, 2010 O.K., got it working like I want. Have a cron job set up, and now my reminder script is spitting out reminder e-mails. In case this will help anyone, here it is: <?php include('database.inc.php'); // Our database connectivity file $sql = <<<EOL SELECT t1.reminder_id AS reminder_id, t1.reminder_name AS reminder_name, t1.reminder_desc AS reminder_desc, t1.reminder_date AS reminder_date, t1.reminder_email AS reminder_email, lp4.email AS lp_reminder_email FROM reminder_events AS t1 LEFT OUTER JOIN authorize AS lp4 ON ( t1.reminder_email = lp4.email ) WHERE DAY(reminder_date) = DAY(DATE_ADD(CURDATE(),INTERVAL 1 DAY)) ORDER BY reminder_date ASC LIMIT 0 , 900000000000000000; EOL; $result = mysql_query($sql) or die(mysql_error()); while( $row = mysql_fetch_array($result)) { $to = $row["reminder_email"]; $from = "[email protected]"; $headers = "From:$from"; $headers = preg_replace('#(?<!\r)\n#si', "\r\n", $headers); $subject = $row["reminder_name"]; $message = preg_replace("#(?<!\r)\n#si", "\r\n", $message); $body = $row["reminder_desc"]; mail($to, $subject, $body, $headers); } { mysql_query("DELETE FROM reminder_events WHERE DAY(reminder_date) = DAY(DATE_ADD(CURDATE(),INTERVAL 1 DAY))"); } ?> Link to comment https://forums.phpfreaks.com/topic/219088-php-sending-e-mail-problem/#findComment-1136440 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.