Avatar ·

Erro «Invalid argument supplied for foreach()»: causas e como corrigir

Olá a todos! Sou iniciante em PHP e estou escrevendo um script simples para exibir uma lista de usuários. Tenho uma função que obtém dados do banco de dados e os retorna como um array. Quando tento percorrer o resultado com foreach, recebo o erro:
Warning: Invalid argument supplied for foreach() in /var/www/test.php on line 15
Aqui está meu código:
function getUsers() {
    $result = mysql_query("SELECT * FROM users");
    return $result; // Eu pensei que isso era um array
}

$users = getUsers();
foreach ($users as $user) {
    echo $user['name'] . '
'; }
Eu esperava que $users contivesse um array de linhas da tabela, mas em vez disso recebo um erro. Alguém pode me dizer o que estou fazendo de errado? Como organizar corretamente a iteração do resultado da consulta? Desde já, obrigado! <<>>

Por que o erro ocorre

O erro «Invalid argument supplied for foreach()» ocorre quando você tenta passar para a construção foreach uma variável que não é um array ou objeto iterável.