Mysql
 sql >> Database >  >> RDS >> Mysql

L'array PHP non si riempie di dati MySQL

Stai eseguendo una query e archiviando una risorsa di risultato in $result1, quindi recuperando tutte le righe in un ciclo che esce, quindi provando immediatamente a recuperarlo di nuovo. Dopo aver recuperato tutti i risultati, non puoi recuperarli di nuovo. Bene, puoi, usando mysql_data_seek, ma è davvero inefficiente e dispendioso farlo nella maggior parte dei casi. Memorizzare i risultati la prima volta in un array.

$rows = array();

while ($row = mysql_fetch_assoc($result1)) {
     $rows[] = $row;
}

Quindi puoi eseguire il foreach attraverso questo 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

}