【发布时间】:2012-12-17 02:32:37
【问题描述】:
当使用 PDO 时,我应该能够选择参数并回显它。然而,我得到的只是 NULL。当我使用 Workbench 时,我可以看到它。
谁能告诉我为什么会这样?
CREATE PROCEDURE testing(OUT ret int)
BEGIN SET ret=12; END;
// On workbench returns '12' - Correct
call testing(@ret);
select @ret;
// PHP/PDO returns NULL
$stmt=Db()->prepare("CALL testing(@ret)");
$stmt->execute();
$param = Db()->query("SELECT @ret")->fetch(PDO::FETCH_ASSOC);
var_dump($param);
编辑: 我几乎确信这可能是 Windows 的一个特定问题,所以我将此示例上传到我的 UNIX 服务器并得到完全相同的结果,NULL。
【问题讨论】:
-
你如何检查错误,看看他们怎么说php.net/manual/en/pdo.error-handling.php
-
Pablo,是的,我已经检查了错误,MySQL 或 PDO 没有报告任何错误。
标签: php mysql stored-procedures pdo prepared-statement