1 och 2 är nära, men $result
kommer inte att innehålla resultatet av funktionsanropet. Snarare kommer den att innehålla resultatcookien från frågan. Du kan använda den cookien för att få den faktiska informationen, med mysql_fetch_row()
. Funktionsanropet returnerar bara ett värde för select-satsen, precis som "SELECT 42" eller "SELECT a FROM MyTable". Så för att få resultatet skulle du använda samma mekanism som med vilken annan SQL-fråga som helst som returnerar resultat; det vill säga använd cookien och anrop mysql_fetch_row()
. Så din slutliga kod kommer att se ut så här:
$result = mysql_query("select functionName($id)");
$row = mysql_fetch_row($result, $link);
$returnValue = $row[0];
Observera att du inte vill interpolera variabler direkt i en SQL-sträng (som kan vara en vektor för attacker). Jag antar dock att den här koden bara är för exempel.