mysql_query() envia uma query para o banco de dados ativo no servidor da conexão informada em link_identifier. Se o parâmetro link_identifier não é especificado, a ultima conexão aberta é usada. Se nenhuma conexão esta aberta, a função tenta estabelecer uma conexão como mysql_connect() seja chamada sem argumentos e usa-a. O resultado é guardado em buffer.
Nota: A string da query não deve terminar com ponto e virgula(;).
Somente para os comandos SELECT, SHOW, EXPLAIN ou DESCRIBE mysql_query() retorna um identificador de recurso ou FALSE se a query não foi executada corretamente. Para outros tipos de comandos SQL, mysql_query() retorna TRUE em caso de sucesso e FALSE em erro. Um valor não FALSE indica que a query foi legal e pode ser executada pelo servidor. Não indica nada sobre o número de linhas afetadas ou retornadas. É perfeitamente possível para uma query ser bem sucedida, mas não afetar linhas ou retornar linhas.
A seguinte query é sintaticamente invalida, assim mysql_query() falha e retorna FALSE:
A seguinte query é semanticamente invalida se my_col não é uma coluna da tabela my_tbl, assim mysql_query() falha e retorna FALSE:
mysql_query() irá também falhar e retornar FALSE se você não tiver permissão para acessar a tabela(s) referida(s) pela query.
Assumindo que a query seja bem sucedida, você pode chamar mysql_num_rows() para achar quantas linhas foram retornadas para um comando SELECT ou mysql_affected_rows() para achar quantas linhas foram afetadas por um comando DELETE, INSERT, REPLACE, ou UPDATE.
Somente para os comandos SELECT,SHOW,DESCRIBE ou EXPLAIN, mysql_query() retorna um novo identificador de resultado que você pode passar para mysql_fetch_array() e outras funções que lidam com resultados de tabelas. Quando você terminou de usar o resultado você pode liberar os recursos usados chamando mysql_free_result(). Embora a memória será automaticamente liberada ao final da execução do script.
Veja também mysql_num_rows(), mysql_affected_rows(), mysql_unbuffered_query(), mysql_free_result(), mysql_fetch_array(), mysql_fetch_row(), mysql_fetch_assoc(), mysql_result(), mysql_select_db() e mysql_connect().