【发布时间】:2012-08-03 23:43:58
【问题描述】:
我在 MySQL 数据库中有一个简单的存储过程:
DELIMITER $$
CREATE DEFINER=`vidhu`@`%` PROCEDURE `test`(var_datain TEXT)
BEGIN
SELECT var_datain;
END
在 mysql-workbench 中调用此过程时,它会返回我输入的数据:
现在当我使用 pdo 从 PHP 调用它时,我得到一个错误:
Fatal error: Cannot pass parameter 2 by reference in C:/apache......(3rd line)
这是我的 php 代码:
$db = new PDO(DSN, DBUSER, DBPASS);
$stmt = $db->prepare("CALL test(?)");
$stmt->bindParam(1, 'hai!', PDO::PARAM_STR);
$rs = $stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo $result[0];
【问题讨论】:
-
哪一行?我没有看到任何通过引用传递的内容
-
$stmt->bindParam(1, 'hai!', PDO::PARAM_STR); 的行
标签: php mysql stored-procedures pdo