1 và 2 gần nhau, nhưng $result
sẽ không chứa kết quả của lệnh gọi hàm. Đúng hơn, nó sẽ chứa cookie kết quả từ truy vấn. Bạn có thể sử dụng cookie đó để lấy dữ liệu thực tế, với mysql_fetch_row()
. Lệnh gọi hàm chỉ trả về một giá trị cho câu lệnh select, giống như "SELECT 42" hoặc "SELECT a FROM MyTable". Vì vậy, để có được kết quả, bạn sẽ sử dụng cơ chế tương tự như với bất kỳ truy vấn SQL nào khác trả về kết quả; nghĩa là, sử dụng cookie và gọi mysql_fetch_row()
. Vì vậy, mã cuối cùng của bạn sẽ giống như sau:
$result = mysql_query("select functionName($id)");
$row = mysql_fetch_row($result, $link);
$returnValue = $row[0];
Lưu ý rằng bạn không muốn nội suy các biến trực tiếp vào một chuỗi SQL (đó có thể là một vectơ cho các cuộc tấn công). Tuy nhiên, tôi giả định rằng mã này chỉ dành cho các mục đích ví dụ.