1 en 2 zijn dichtbij, maar $result
zal niet het resultaat van de functieaanroep bevatten. In plaats daarvan gaat het de resultaatcookie van de query bevatten. U kunt die cookie gebruiken om de werkelijke gegevens op te halen, met mysql_fetch_row()
. De functieaanroep retourneert gewoon een waarde voor de select-instructie, net hetzelfde als "SELECT 42" of "SELECT a FROM MyTable". Dus om het resultaat te krijgen, zou je hetzelfde mechanisme gebruiken als bij elke andere SQL-query die resultaten oplevert; dat wil zeggen, gebruik de cookie en bel mysql_fetch_row()
. Uw uiteindelijke code ziet er dus als volgt uit:
$result = mysql_query("select functionName($id)");
$row = mysql_fetch_row($result, $link);
$returnValue = $row[0];
Houd er rekening mee dat u variabelen niet rechtstreeks in een SQL-tekenreeks wilt interpoleren (dat kan een vector zijn voor aanvallen). Ik neem echter aan dat deze code alleen voor voorbeelddoeleinden is.