[PHP] update in while loopt maar 1 keer

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Tweekerts,

Ik heb een probleem. Ik heb in PHP een soort van nieuwsbrief beheer/verstuur gedeelte op mijn website gemaakt. Het probleem is dat ik na elke verzonden mail een vlaggetje op de betreffende record wil zetten dat de mail aan die persoon verzonden is. Deze update moet logischerwijs in de while loop komen die alle lezers ophaalt en een voor een mailt. Op de een of andere manier lukt dit niet, want ik krijg na 1 mail/update de volgende error:
mysql_fetch_array(): supplied argument is not a valid MySQL result resource

Deze error verwijst naar het begin van de while waarin ik de lezers data fetch in een array. Als ik de update uit de loop haal dan krijg ik deze error niet, dus het ligt volgens mij aan de update.

De relevante code ziet er als volgt uit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
$query_select = "SELECT bedrijfs_naam, voor_naam, achter_naam, email_adres, taal, code
                 FROM lezers
                 WHERE end_date is null"; //query
$result = mysql_query($query_select);  //voer de select query uit
printf ("<b>Records selected:</b> %d\n<br>", mysql_affected_rows());

/* and now mail it */
while($lezers_data = mysql_fetch_array($result)){  
$to = $lezers_data[email_adres]; // note the comma 

if ($lezers_data[taal] == 'NL') {
$subject = $subject_nl;
$message = $message_nl; 
}
if ($lezers_data[taal] == 'EN') {
$subject = $subject_en;
$message = $message_en; 
}
if ($lezers_data[taal] == 'DU') {
$subject = $subject_du;
$message = $message_du; 
}

print ("Verstuur email naar: $lezers_data[email_adres] Taal:  $lezers_data[taal]<br>");
$query_update = ("UPDATE lezers 
                SET send1 = 'Y'
                WHERE email_adres = '$lezers_data[email_adres]'");
$result = mysql_query($query_update);  //voer de query uit
printf ("<b>Records updated:</b> %d\n", mysql_affected_rows());

//print ("<br>$message");
//mail($to, $subject, $message, $headers);
} //sluit while af

[ Voor 12% gewijzigd door Verwijderd op 03-01-2006 22:19 ]


Acties:
  • 0 Henk 'm!

Verwijderd

moest je dit:
$lezers_data[email_adres]

niet zo doen:
$lezers_data["email_adres"]

met quotjes dus.

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

Omdat je $result steeds overschrijft met de result van een nieuwe query (de update)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Shit tuurlijk, ik gebruik 2 maal dezelfde variabele naam. Ik ga het aanpassen en laat jullie wat weten mocht het nog niet werken.

Stom, bedankt!