mysql_query

 

PHP -> Funkcie -> MySQL funkcie PHP -> mysql_query

Syntax


resource mysql_query ( string query [, resource spojeni] )

Popis


Príkaz jazyka PHP
mysql_query -- Pošle MySQL dotaz

mysql_query () Vykoná dotaz na aktuálnom spojení v aktívnej databáze na serveri a vráti identifikátor výsledku. Ak nie je parameter spojeni uvedený, použije posledné otvorené spojenie. Ak sa žiadne otvorené spojenie nenašlo, funkcia sa ho pokúsi vytvoriť použitím východiskových hodnôt funkcie mysql_connect (akoby bola volaná bez parametrov).

Poznámka: Reťazec dotazu by nemal končiť bodkočiarkou.

Len pri použití dotazu typu SELECT je vrátený identifikátor výsledku alebo FALSE ak pri vykonávaní dotazu došlo k chybe. Pri ostatných typoch dotazov mysql_query() vracia TRUE pri úspešnom dotaze alebo FALSE ak dôjde k chybe. Ne-FALSE vrátená hodnota znamená, že dotaz bol vykonaný serverom bez chýb. Táto funkcia nezaznamenáva žiadne údaje o počte ovplyvnených alebo vrátených riadkov. Dá sa len zistiť, či dotaz prebehol v poriadku.

Príklady



Nasledujúci dotaz je syntakticky nesprávny, preto jeho vykonávanie v mysql_query() neprejde a vypíše sa chyba.
<php
$result = mysql_query("SELECT * WHERE 1=1")
   or die("Chyba v dotaze: " . mysql_error());
?>


Nasledujúci dotaz je významovo správny, takže mysql_query() vráti výsledok:
<?php
$result = mysql_query("SELECT CURRENT_DATE")
   or exit ("Chyba v dotaze: " . mysql_error());
?>

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 dotazech SELECT, SHOW, DESCRIBE nebo EXPLAIN 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.

Pozri aj


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



vytlačiť článok  hľadať súvisiace články 

Chat ku článku

Vyhľadávanie na stránke
Reklama
Náhodný obrázok
náhodný obrázok
Kontakty

Martin Kasman, M Software
Smreková 3095/23
Email: martin@kasman.sk

Telefón: 0908 270 294