1 og 2 er tæt på, men $result
kommer ikke til at indeholde resultatet af funktionskaldet. Det vil snarere indeholde resultatcookien fra forespørgslen. Du kan bruge denne cookie til at få de faktiske data med mysql_fetch_row()
. Funktionskaldet returnerer bare en værdi for select-sætningen, præcis det samme som "SELECT 42" eller "SELECT a FROM MyTable". Så for at få resultatet ville du bruge den samme mekanisme som med enhver anden SQL-forespørgsel, der returnerer resultater; det vil sige, brug cookien og kald mysql_fetch_row()
. Så din endelige kode vil se sådan ud:
$result = mysql_query("select functionName($id)");
$row = mysql_fetch_row($result, $link);
$returnValue = $row[0];
Bemærk, at du ikke ønsker at interpolere variabler direkte i en SQL-streng (det kan være en vektor for angreb). Jeg antager dog, at denne kode kun er til et eksempel.