Du laver en forespørgsel og gemmer en resultatressource i $result1, hvorefter du henter alle rækkerne i en løkke, som du ekko ud, og prøver derefter straks at hente den igen. Når du har hentet alle resultaterne, kan du ikke hente dem igen. Det kan du godt, ved at bruge mysql_data_seek, men det er virkelig ineffektivt og spildfuldt at gøre det i de fleste tilfælde. Gem resultaterne første gang i et array.
$rows = array();
while ($row = mysql_fetch_assoc($result1)) {
$rows[] = $row;
}
Så kan du gå gennem dette array.
foreach ($rows as $row) {
// Build the binary notification
$msg = chr(0).pack('n', 32).pack('H*', $row['devicetoken']) . pack('n', strlen($payload)) . $payload;
//... etc
}