1 i 2 są blisko, ale $result
nie będzie zawierać wyniku wywołania funkcji. Zamiast tego będzie zawierać wynikowy plik cookie z zapytania. Możesz użyć tego pliku cookie, aby uzyskać rzeczywiste dane za pomocą mysql_fetch_row()
. Wywołanie funkcji po prostu zwraca wartość instrukcji SELECT, tak samo jak „SELECT 42” lub „SELECT a FROM MyTable”. Tak więc, aby uzyskać wynik, użyjesz tego samego mechanizmu, co w przypadku każdego innego zapytania SQL, które zwraca wyniki; to znaczy użyj pliku cookie i wywołaj mysql_fetch_row()
. Twój ostateczny kod będzie wyglądał tak:
$result = mysql_query("select functionName($id)");
$row = mysql_fetch_row($result, $link);
$returnValue = $row[0];
Zauważ, że nie chcesz interpolować zmiennych bezpośrednio do ciągu SQL (który może być wektorem ataków). Zakładam jednak, że ten kod jest tylko przykładowy.