Vous effectuez une requête et stockez une ressource de résultat dans $result1, puis récupérez toutes les lignes dans une boucle que vous répercutez, puis essayez immédiatement de la récupérer à nouveau. Une fois que vous avez récupéré tous les résultats, vous ne pouvez plus les récupérer. Eh bien, vous pouvez utiliser mysql_data_seek, mais c'est vraiment inefficace et inutile de le faire dans la plupart des cas. Stockez les résultats la première fois dans un tableau.
$rows = array();
while ($row = mysql_fetch_assoc($result1)) {
$rows[] = $row;
}
Ensuite, vous pouvez parcourir ce tableau.
foreach ($rows as $row) {
// Build the binary notification
$msg = chr(0).pack('n', 32).pack('H*', $row['devicetoken']) . pack('n', strlen($payload)) . $payload;
//... etc
}