Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment utiliser une fonction MySQL définie par l'utilisateur depuis PHP ?

1 et 2 sont proches, mais $result ne contiendra pas le résultat de l'appel de la fonction. Au lieu de cela, il contiendra le cookie de résultat de la requête. Vous pouvez utiliser ce cookie pour obtenir les données réelles, avec mysql_fetch_row() . L'appel de fonction renvoie simplement une valeur pour l'instruction select, exactement comme "SELECT 42" ou "SELECT a FROM MyTable". Donc, pour obtenir le résultat, vous utiliserez le même mécanisme qu'avec toute autre requête SQL qui renvoie des résultats ; c'est-à-dire, utilisez le cookie et appelez mysql_fetch_row() . Votre code final ressemblera donc à ceci :

$result = mysql_query("select functionName($id)");
$row = mysql_fetch_row($result, $link);
$returnValue = $row[0];

Notez que vous ne voulez pas interpoler des variables directement dans une chaîne SQL (qui peut être un vecteur d'attaques). Je suppose, cependant, que ce code est juste à titre d'exemple.