1 a 2 jsou blízko, ale $result
nebude obsahovat výsledek volání funkce. Spíše bude obsahovat výsledný soubor cookie z dotazu. Tento soubor cookie můžete použít k získání skutečných dat pomocí mysql_fetch_row()
. Volání funkce pouze vrací hodnotu pro příkaz select, stejnou jako "SELECT 42" nebo "SELECT a FROM MyTable". K získání výsledku byste tedy použili stejný mechanismus jako u jakéhokoli jiného SQL dotazu, který vrací výsledky; to znamená, že použijte cookie a zavolejte mysql_fetch_row()
. Takže váš konečný kód bude vypadat takto:
$result = mysql_query("select functionName($id)");
$row = mysql_fetch_row($result, $link);
$returnValue = $row[0];
Všimněte si, že nechcete interpolovat proměnné přímo do řetězce SQL (to může být vektor pro útoky). Předpokládám však, že tento kód slouží pouze pro příklady.