Работает так, как задумано: $result
присваивается результат операции mysql_query()
, которую вы вызываете.
Вероятно, вы хотите передать саму функцию, как JavaScript позволяет:
function x() { alert("Hi"); }
window.onload = x;
window.onload(); // will alert "Hi"
это было бы возможно, используя что-то вроде этого (пре-PHP 5.3):
$result = create_function("\$sql", "mysql_query(\$sql);");
или в PHP 5.3:
$result = function($sql) { mysql_query(\$sql); }
вы можетев обоих случаях вызовите созданную функцию:
$result($sql);
практика передачи функций гораздо, гораздо реже в PHP, чем в Javascript.