Segundo a documentação do método query, ele retorna FALSE no caso de erro ou o objeto mysqli_result em caso de sucesso, nesse caso com certeza deu erro então.
Pra ver o erro que deu, pode trocar temporariamente seu código por isso:
$con->query($sql) or die($con->error);
Porém o ideal é você verificar o retorno do método e trabalhar a partir daí, e não simplesmente sair com mensagem de erro hehe