花了几个小时寻找答案但没有成功。我在MySQL中编写了一个用户定义的函数,它传递一个标识符,用于检索各种数据,将其连接成一个字符串并返回它。我想从我的PHP页面调用此函数并输出结果。
不成功的尝试包括:
1. $result = mysql_query("select functionName($id)");
2. $sql = "select functionName($id)";
$result = mysql_query($sql, $link);
3. functionName($id)
有什么想法吗?
答案 0 :(得分:1)
1和2接近,但$result
不会包含函数调用的结果。相反,它将包含查询中的结果cookie。您可以使用该Cookie获取实际数据,mysql_fetch_row()
。函数调用只返回select语句的值,与“SELECT 42”或“SELECT a FROM MyTable”相同。因此,要获得结果,您将使用与返回结果的任何其他SQL查询相同的机制;也就是说,使用cookie并调用mysql_fetch_row()
。所以你的最终代码将如下所示:
$result = mysql_query("select functionName($id)");
$row = mysql_fetch_row($result, $link);
$returnValue = $row[0];
请注意,您不希望将变量直接插入到SQL字符串中(可以是攻击的矢量)。但是,我假设此代码仅用于示例目的。
答案 1 :(得分:0)
我有同样的问题,发现这是非常有用的devx编写,特别是关于调用MySQL函数的底部部分:
http://www.devx.com/webdev/Article/42887/0/page/2
关于mysqli,我的代码现在如下:
:
完美无缺。