存储过程未返回带有PDO语句的记录


Stored procedure not returning records with PDO statement

刚开始处理存储过程,但不确定我是否完全没有理解它们。。。这是一个我正在尝试工作的简单方法,但它什么都不输出:

CREATE procedure testprocedure (userID INT)
DETERMINISTIC
COMMENT "Test procedure"
BEGIN
    SELECT * FROM user WHERE ID=userID;
END

Php:

<?php
    include 'dbconnect.php';
    $stmt = $db->prepare("CALL testprocedure(:userid)");
    $stmt->bindValue(':userid',1,PDO::PARAM_INT);
    $stmt->execute();
    $row=$stmt->fetchAll(PDO::FETCH_ASSOC);
    print_r($row);
?>

仅输出array()

但是,如果我在Workbench中使用testprocedure(1),它会返回一行

感谢任何帮助:D

是我愚蠢。。。

我用来调用存储过程的用户没有"执行"权限。。。

就这么简单哈哈。。。

好的一面是,我还有三分之一的头发留在