26. februar 2006 - 14:50
Der er
11 kommentarer
problemer med php+sql
hej smider lige en stump kode først: <?php // set time limit to 15 minutes (900/60) set_time_limit(900); include("connect.php"); $id = preg_replace("/'\/<>\"/","",$_GET['id']); if (empty($id)) die("Invalid ID"); $link = "SELECT * FROM newsletters WHERE id='$id'"; $res = mysql_query($link) or die(mysql_error()); $r = mysql_fetch_assoc($res); $subject = $r['name']; $message = $r['content']; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; $headers .= 'From: newsletter@' . $_SERVER['SERVER_NAME'] . "\r\n" . 'Reply-To: newsletter@' . $_SERVER['SERVER_NAME'] . "\r\n" . 'X-Mailer: PHP/' . phpversion(); $link = "SELECT * FROM users WHERE status='subscribed'"; $res = mysql_query($link) or die(mysql_error()); while ($r = mysql_fetch_row($res)) { $email = $r['email']; echo "$email"; $mail = mail($email, $subject, $message, $headers); } if ($mail) { echo "Email sent to " . $email . '<br>'; die; } else { echo "Error in mailing " . $email . '<br>'; die; } der er problemer - jeg har kogt problemet ned til at i while løkken næste nederst får $email ingen værdi selvom der i tablen users ligger en bruger - nogen der har en ide til hvorfor det ikke sker??
Annonceindlæg fra HPE
Slettet bruger
26. februar 2006 - 14:53
#1
Prøv at fjerne WHERE status='subscribed' Fra din query.
26. februar 2006 - 14:54
#2
status er 'subscribed' på brugeren, så det burde ikke gøre noget... men prøver lige
Slettet bruger
26. februar 2006 - 14:54
#3
Hvis den kommer med der, er løsningen naturligvis, at rækken ikke har status='subscribed' :)
26. februar 2006 - 14:56
#4
Brug mysql_fetch_array eller mysql_fetch_assoc
26. februar 2006 - 14:56
#5
og det hjalp ikke at fjerne betingelsen
26. februar 2006 - 15:07
#6
erikjacobsen, vil du ligge et svar (og måske forklare mig hvorfor man ikke kan bruge fetch_row):) det virkede
26. februar 2006 - 15:12
#7
Men
http://php.net/mysql_fetch_row skal du finde felterne ud fra nummer, og ikke navn. Derfor.
Jeg samler slet ikke på point, tak.
26. februar 2006 - 15:17
#8
hmm.. med flere brugere kommer mailen kun frem til den først oprettede bruger - den med id=1
26. februar 2006 - 15:22
#9
nej, den kmomer sq frem... glem det sidste spørgsmål
26. februar 2006 - 15:23
#10
Du får kun skrevet "sent" og "error" skrevet ud for een af dine mail-adresser, da din udskrift ikke ligge i while-løkken.
26. februar 2006 - 15:40
#11
jaja, men har addet 3 kontoer, jeg har i samme mail klient. Den ene af mail serverne var nede, og den anden langsom;)