mysql_query Send a MySQL query Description resourcemysql_query stringquery resourcelink_identifier intresult_mode mysql_query sends a query to the currently active database on the server that's associated with the specified link identifier. If link_identifier isn't specified, the last opened link is assumed. If no link is open, the function tries to establish a link as if mysql_connect was called with no arguments, and use it. The optional result_mode parameter can be MYSQL_USE_RESULT and MYSQL_STORE_RESULT. It defaults to MYSQL_STORE_RESULT, so the result is buffered. See also mysql_unbuffered_query for the counterpart of this behaviour. The query string should not end with a semicolon. Only for SELECT,SHOW,EXPLAIN or DESCRIBE statements mysql_query returns a resource identifier or &false; if the query was not executed correctly. For other type of SQL statements, mysql_query returns &true; on success and &false; on error. A non-&false; return value means that the query was legal and could be executed by the server. It does not indicate anything about the number of rows affected or returned. It is perfectly possible for a query to succeed but affect no rows or return no rows. The following query is syntactically invalid, so mysql_query fails and returns &false;: <function>mysql_query</function> ]]> The following query is semantically invalid if my_col is not a column in the table my_tbl, so mysql_query fails and returns &false;: <function>mysql_query</function> ]]> mysql_query will also fail and return &false; if you don't have permission to access the table(s) referenced by the query. Assuming the query succeeds, you can call mysql_num_rows to find out how many rows were returned for a SELECT statment or mysql_affected_rows to find out how many rows were affected by a DELETE, INSERT, REPLACE, or UPDATE statement. Only for SELECT,SHOW,DESCRIBE or EXPLAIN statements, mysql_query returns a new result identifier that you can pass to mysql_fetch_array and other functions dealing with result tables. When you are done with the result set, you can free the resources associated with it by calling mysql_free_result. Although, the memory will automatically be freed at the end of the script's execution. See also: 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, and mysql_connect.