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];