Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como uso uma função definida pelo usuário MySQL de dentro do PHP?


1 e 2 estão próximos, mas $result não vai conter o resultado da chamada da função. Em vez disso, ele conterá o cookie de resultado da consulta. Você pode usar esse cookie para obter os dados reais, com mysql_fetch_row() . A chamada de função apenas retorna um valor para a instrução select, da mesma forma que "SELECT 42" ou "SELECT a FROM MyTable". Portanto, para obter o resultado, você usaria o mesmo mecanismo de qualquer outra consulta SQL que retorna resultados; ou seja, use o cookie e chame mysql_fetch_row() . Então seu código final ficará assim:
$result = mysql_query("select functionName($id)");
$row = mysql_fetch_row($result, $link);
$returnValue = $row[0];

Observe que você não quer interpolar variáveis ​​diretamente em uma string SQL (que pode ser um vetor para ataques). Presumo, no entanto, que este código é apenas para fins de exemplo.