Porque Algumas Vezes mysql_store_result()
Retorna NULL
Após mysql_query()
Returnar com Sucesso?
É possível para mysql_store_result()
retornar NULL
seguida de uma chamda com sucesso ao mysql_query()
. Quando isto acontece, significa que uma da seguintes condições ocorreu:
- Existe um falha no
malloc()
(por exemplo, se o resultado for muito grande). - Os dados não podem ser lidos (ocorreu um erro na conexão).
- A consulta não retornou dados (por exemplo, ela era um
INSERT
,UPDATE
, ouDELETE
).
Você sempre pode verificar se a instrução devia produzir um resultado não vazio chamando mysql_field_count()
. Se mysql_field_count()
retornar zero, o resultado está vazio e a última consulta era uma instrução que não devia retorbar valor (por exemplo, um INSERT
ou um DELETE
). Se mysql_field_count()
retorna um valor diferente se zero, a instrução devia ter produzido um resultado não vazio. Veja a descrição da função mysql_field_count()
para um exemplo.
Você pode testar um erro chamando mysql_error()
ou mysql_errno()
.