sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo uso una función definida por el usuario de MySQL desde PHP?

1 y 2 están cerca, pero $result no va a contener el resultado de la llamada a la función. Más bien, contendrá la cookie de resultado de la consulta. Puede usar esa cookie para obtener los datos reales, con mysql_fetch_row() . La llamada a la función simplemente devuelve un valor para la declaración de selección, igual que "SELECCIONAR 42" o "SELECCIONAR a DE MiTabla". Entonces, para obtener el resultado, usaría el mismo mecanismo que con cualquier otra consulta SQL que devuelva resultados; es decir, use la cookie y llame a mysql_fetch_row() . Entonces su código final se verá así:

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

Tenga en cuenta que no desea interpolar variables directamente en una cadena SQL (que puede ser un vector de ataques). Supongo, sin embargo, que este código es solo para fines de ejemplo.