我试图在一个PHP项目中添加一个工作流,该项目使用了许多Mariadb存储过程和函数。
SELECT * FROM `proc` where db = "db_name"
字符串
但用户的权限有限,如果我尝试
SHOW CREATE PROCEDURE proc_name
型
我得到一个结果集,
创建过程为空
我还能尝试什么?
编辑(按要求)PHP代码:
$result = $db->query( 'SHOW CREATE FUNCTION customer_fullname' );
foreach( $result as $row ) {
$proc = $row['Function'];
$source = $row['Create Function'];
echo "<h1>$proc</h1>";
echo "<pre>$source</pre>";
}
型$proc
已填充,$source
为null。
1条答案
按热度按时间sg3maiej1#
过程代码仅对过程创建者或对mysql. proc具有SELECT权限的用户可见。来自the documentation:
这两个语句(
SHOW CREATE FUNCTION
/SHOW CREATE PROCEDURE
)都要求您是例程的所有者或对mysql.proc表具有SELECT权限。如果两者都不为true,则语句的Create Procedure或Create Function字段显示NULL。您试图通过阅读过程体创建的工作流是什么?这不是一件常见的事情。