PHP arrays or SQL query in loop?
17:38 02 Mar 2026

Which code is preferred and why?

  1. Using a query in a loop, but with id search, so it should be quick.
$pray_res = sql_query($conn, "SELECT * FROM prayer_stats ORDER BY year DESC, month DESC");
while($prev_pray = sql_fetch($pray_res))
{
    $pray_person = sql_fetch(sql_query($conn_user, "SELECT * FROM register WHERE deleted=0 and id='".$prev_pray['pray_user_id']."' "));
    ?>
    
        
        '.$pray_person['name'].' ('.new_color3($pray_person['rank_name']).')'; ?>
    
    

2. Using arrays, but getting all users from register table.

$all_users = [];
$user_res = sql_query($conn_user, "SELECT id, name, url, rank_name FROM register WHERE deleted=0");
while ($u = sql_fetch($user_res))
{
    $all_users[$u['id']] = $u;
}
$pray_res = sql_query($conn, "SELECT * FROM prayer_stats WHERE user_id != 0 ORDER BY year DESC, month DESC");

while($prev_pray = sql_fetch($pray_res))
{
    $pray_person = $all_users[$prev_pray['pray_user_id']];
    if($pray_person)
    {
        ?>
        
            
            '.$pray_person['name'].' ('.new_color3($pray_person['rank_name']).')'; ?>
        
        
php mysqli