You are doing a query and storing a result resource in $result1, then fetching all the rows in a loop that you echo out, then immediately trying to fetch it again. Once you fetch all the results, you can’t fetch them again. Well you can, using mysql_data_seek, but it’s really inefficient and wasteful to do so in most cases. Store the results the first time in an array.
$rows = array();
while ($row = mysql_fetch_assoc($result1)) {
$rows[] = $row;
}
Then you can foreach through this 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
}
9
solved PHP array wont fill with mysql data [duplicate]