mysql_query() stuurt een query naar de
huidige actieve database op de server die wordt
geassocieerd met de gegeven link identifier. Als
link_identifier
niet wordt gegeven, wordt de
laatst geopende link aangenomen. Als er geen link open is,
probeert de functie een link te maken alsof
mysql_connect() wordt aangeroepen zonder
argumenten, en die te gebruiken.
Opmerking: De query string moet niet eindigen met een puntkomma.
Alleen voor SELECT, SHOW, EXPLAIN en DESCRIBE queries geeft mysql_query() een resource identifier terug of FALSE als de query niet correct werd uitgevoerd. Voor andere soorten SQL queries geeft mysql_query() TRUE terug bij succes en FALSE bij een fout. Een niet-FALSE waarde geeft aan dat de query legaal was en kon worden uitgevoerd door de server. Hij geeft echter niets aan over het aantal rijen betrokken of teruggegeven. Het is zeer goed mogelijk dat een query goed wordt uitgevoerd maar geen rijen wijzigt of teruggeeft.
De volgende query is syntactisch ongeldig, dus mysql_query() faaalt en geeft FALSE terug:
De volgende query is semantisch ongeldig als my_col geen kolom is in de tabel my_tbl, dus mysql_query() faalt en geeft FALSE terug:
mysql_query() zal ook falen en FALSE teruggeven als je geen permissie hebt om toegang te krijgen tot de tabellen die in de query genoemd worden.
Aangenomen dat de query goed gaat, kun je mysql_num_rows() aanroepen om uit te vinden hoeveel rijen er werden teruggegeven voor een SELECT statement, of mysql_affected_rows() om uit te vinden hoeveel rijen betrokken waren bij een DELETE, INSERT, REPLACE, of UPDATE query.
Alleen bij SELECT, SHOW, DESCRIBE en EXPLAIN queries geeft mysql_query() een nieuwe result identifier terug die je door kunt geven aan mysql_fetch_array() en andere functies die met resultaat tabellen van doen hebben. Wanneer je klaar bent met de resultaat set, kun je de bronnen die ermee geassocieerd zijn vrij maken door mysql_free_result() aan te roepen. Het geheugen zal echter automatisch worden vrijgemaakt aan het eind van de uitvoering van het script.
Zie ook: 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() en mysql_connect().