Anda melakukan kueri dan menyimpan sumber daya hasil di $result1, lalu mengambil semua baris dalam satu lingkaran yang Anda gema, lalu segera mencoba mengambilnya lagi. Setelah Anda mengambil semua hasil, Anda tidak dapat mengambilnya lagi. Anda bisa, menggunakan mysql_data_seek, tetapi sangat tidak efisien dan boros untuk melakukannya dalam banyak kasus. Simpan hasil pertama kali dalam array.
$rows = array();
while ($row = mysql_fetch_assoc($result1)) {
$rows[] = $row;
}
Kemudian Anda dapat melakukan foreach melalui array ini.
foreach ($rows as $row) {
// Build the binary notification
$msg = chr(0).pack('n', 32).pack('H*', $row['devicetoken']) . pack('n', strlen($payload)) . $payload;
//... etc
}