Consulte o guia de referência:
http://php.net/manual/en/function.mysql-query .php
Editar:Esclarecimento do que realmente são esses erros.
Então, temos uma lista de coisas que podem retornar false:
- Quando uma instrução MySQL que retorna um conjunto de resultados recebe um erro
- Quando uma instrução MySQL que não retorna nada recebe um erro
- Quando um usuário não tem permissão do MySQL para acessar uma referência de tabela
Na minha opinião os 2 primeiros são os que são um pouco difusos. Quais são os possíveis erros? Existem 59 erros de cliente diferentes que você pode obter do MySQL. Estes são mais erros relacionados ao sistema que podemos presumir que o php lidará e provavelmente envolverá em uma quantidade menor de erros abstratos.
Exceto por esses erros do cliente, você tem um conjunto de erros mais abstratos que você pode encontrar durante o uso, que está mais relacionado ao uso da API real dentro do aplicativo, em vez do acesso bruto ao servidor MySQL. Esses são:
- Acesso negado
- Não é possível conectar ao servidor MySQL [local]
- Perda de conexão com o servidor MySQL
- Cliente não suporta protocolo de autenticação
- A senha falha quando inserida interativamente
- O host 'host_name' está bloqueado
- Muitas conexões
- Sem memória
- O servidor MySQL foi desativado
- Pacote muito grande
- Erros de comunicação e conexões abortadas
- A tabela está cheia
- Não é possível criar/gravar no arquivo
- Comandos fora de sincronia
- Ignorando usuário
- A tabela 'tbl_name' não existe
- Não é possível inicializar o conjunto de caracteres
- Problemas de corrupção de tabela
- Problemas relacionados à sintaxe
Aqui estão as referências do que acabei de dizer:
- Lista dos erros do cliente
- Lista dos erros comuns relacionados à API
- Referências sobre problemas relacionados a consultas
- Problemas relacionados à tabela
- Outros problemas relacionados a bugs conhecidos