mysql_query

mysql_query -- Pošle MySQL dotaz

Popis

resource mysql_query ( string query [, resource spojeni])

mysql_query( ) Provede dotaz na aktuálním spojení v aktivní databázi na serveru a vrátí identifikátor výsledku . Není-li parametr spojeni uveden , použije posledně otevřené spojení . Pokud není žádné otevřené spojení nalezeno , funkce se ho pokusí vytvořit za použití výchozích hodnot funkce mysql_connect( ) (jakoby byla volána bez parametrů )

Poznámka : Řetězec dotazu by neměl končit středníkem .

Pouze při použití dotazu typu SELECT je vrácen identifikátor výsledku či FALSE pokud při vykonávání dotazu došlo k chybě . Při ostatních typech dotazů mysql_query( ) vrací TRUE při úspěšném dotazu nebo FALSE dojde-li k chybě . Ne - FALSE vrácená hodnota znamená , že dotaz byl vykonán serverem bez chyb . Tato funkce nezaznamenává žádné údaje o počtu ovlivněných nebo vrácených řádků . Lze pouze zjistit , zda dotaz proběhl v pořádku .

Následující dotaz je syntakticky nesprávný , takže jeho vykonávání v mysql_query( ) selže a vrátí FALSE :

Příklad 1 . mysql_query( )

 
php

 
$result

 
=

 
mysql_query(

 
"SELECT

 
*

 
WHERE

 
1=1"

 
)

 
or

 
die("Špatný

 
dotaz

 
!")

 
;

 
?





Následující dotaz je významově nesprávný my_col není sloupec v tabulce my_tbl , takže mysql_query( ) selže a vrátí FALSE :

Příklad 2 . mysql_query( )

 
?php

 
$result

 
=

 
mysql_query(

 
"SELECT

 
my_col

 
FROM

 
my_tbl"

 
)

 
or

 
exit

 
("Špatný

 
dotaz

 
!")

 
;

 
?





mysql_query( ) také vždy selže a vrátí FALSE jestliže nemáte dostatečné oprávnění přístupu do tabulky (tabulek ) uvedených v dotazu .

Potřebujete-li zjistit počet záznamů vrácených dotazem typu SELECT , použijte následně funkci mysql_num_rows( ) či případně funkci mysql_affected_rows( ) , pokud potřebujete zjistit počet všech ovlivněných záznamů dotazy typů DELETE , INSERT , REPLACE nebo UPDATE .

Pouze při dotazu typu SELECT mysql_query( ) vrací nový identifikátor dotazu , který lze použít například pro volání funkce mysql_fetch_array( ) a dalších funkcí pro zpracování výsledků dotazu . Nepotřebujete-li již obsah výsledku dotazu , můžete uvolnit pamět voláním funkce mysql_free_result( ) . Nicméně pamět bude stejně uvolněna automaticky na konci běhu skriptu .

Viz . také : 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( ) , a mysql_connect( ) .