602SQL-Úplná dokumentace Index  

wb_psql_execute

PHP

mixed wb_psql_execute( resource psql [, hodnoty parametrů ] )


Parametry

psql
Identifikátor prepared SQL příkazu, tj. výsledek volání funkce wb_psql_prepare. Povinný parametr.
hodnoty parametrů
Pokud prepared SQL příkaz obsahuje parametry, pak lze tímto způsobem předat hodnoty IN parametrů a pro OUT parametry zadat PHP proměnné, do nichž má být pro provedení SQL příkazu přečtena jejich hodnota. Parametry prepared SQL příkazu lze však předat i jinak, hodnoty IN parametrů předat pomocí funkce wb_psql_send_param a hodnoty OUT parametrů přečíst pomocí funkce wb_psql_get_out_param.


Popis

Funkce provede prepared SQL příkaz, jehož identifikátor (resource handle) byl předán v parametru psql.

Pokud SQL příkaz obsahuje nějaké parametry a pokud dosud nebyla hodnota žádného IN parametru předána voláním funkce wb_psql_send_param, lze hodnoty parametrů předat této funkci. V tom případě je nutno k volání této funkce připojit tolik dalších parametrů, kolik je parametrů prepared SQL příkazu. Parametry se předávají v tom pořadí, v jakém jsou uvedeny ve zdrojovém textu SQL příkazu.

Pro každý IN parametr je nutno předat takovou hodnotu, kterou bude možno zkonvertovat na typ příslušného parametru. Pro každý OUT parametr je nutno předat odkaz na PHP proměnnou, která byla inicializována ještě před provedením této funkce (na hodnotě, ani typu této proměnné nezáleží, je pouze nezbytné, aby tato proměnná existovala). Pro každý INOUT parametr je nutno předat odkaz na PHP proměnnou, která obsahuje hodnotu, která má být předána SQL serveru v tomto parametru; tato proměnná bude pro provedení SQL příkazu obsahovat výstupní hodnotu tohoto parametru.

Prepared SQL příkaz lze touto funkcí provádět opakovaně, pokaždé přitom lze zadat jiné hodnoty parametrů SQL příkazu.



Návratová hodnota

Funkce při chybě vrací FALSE. Pokud provedený SQL příkaz způsobil otevření kurzoru, funkce vrátí jeho identifikátor (resource handle) - podobně jako funkce wb_exec. Identifikátor otevřeného kurzoru lze následně použít např. při volání funkce wb_result. Pokud provedený SQL příkaz neotevřel kurzor, funkce vrátí počet záznamů, které byly provedeným SQL příkazem změněny, případně vrátí 1.



Příklad

Příprava a dvojnásobné provedení SQL příkazu se dvěma parametry k provedení, první je OUT parametr, druhý je IN parametr. Hodnota OUT parametru bude po provedení SQL příkazu přečtena do PHP proměnné $name_var (tato proměnná musí být zinicializována před provedením SQL příkazu). Hodnota IN parametru bude zadána konstantou.

$psql=wb_psql_prepare($connection,"SELECT name INTO ? FROM Person WHERE ID=?");
$name_var=null;
wb_psql_execute($psql,$name_var,123);
wb_psql_execute($psql,$name_var,456);   


Příklad

Provedeme stejný SQL příkaz, tentokrát ale k přenosu hodnot parametrů použijeme PSQL funkce.

$psql=wb_psql_prepare($connection,"SELECT name INTO ? FROM Person WHERE ID=?");
wb_psql_send_param($psql,1,123);
wb_psql_execute($psql);
$name_var=wb_psql_get_out_param($psql,0);
wb_psql_send_param($psql,1,456);
wb_psql_execute($psql);
$name_var=wb_psql_get_out_param($psql,0);   

Viz