1 e 2 sono vicini, ma $result
non conterrà il risultato della chiamata di funzione. Piuttosto, conterrà il cookie dei risultati della query. Puoi usare quel cookie per ottenere i dati effettivi, con mysql_fetch_row()
. La chiamata di funzione restituisce solo un valore per l'istruzione select, proprio come "SELECT 42" o "SELECT a FROM MyTable". Quindi, per ottenere il risultato, utilizzeresti lo stesso meccanismo di qualsiasi altra query SQL che restituisce risultati; ovvero, usa il cookie e chiama mysql_fetch_row()
. Quindi il tuo codice finale sarà simile a questo:
$result = mysql_query("select functionName($id)");
$row = mysql_fetch_row($result, $link);
$returnValue = $row[0];
Nota che non vuoi interpolare le variabili direttamente in una stringa SQL (che può essere un vettore per gli attacchi). Presumo, tuttavia, che questo codice sia solo a scopo di esempio.