Środowisko:
Baza danych: MySQL 5.0.33 (home.pl).
Procedura:
CREATE PROCEDURE `SP_A`( IN `IN_DESCRIPTION` VARCHAR(256), OUT `OUT_ID` INTEGER(4) ) BEGIN INSERT INTO `tabela` ( `Opis`, `DataStart` ) VALUES ( `IN_DESCRIPTION`, CURRENT_TIMESTAMP ); SET OUT_ID = LAST_INSERT_ID(); END
Aplikacja:
PHP : 5.0.x, + pdo_mysql (home.pl)
Wywołanie procedury w php:
<?php $this->oDB = new PDO('mysql:host=IP;dbname=DB', 'user', 'pw'); $stmt = $this->oDB->prepare("CALL SP_A(:IN_DESCRIPTION, :OUT_ID)"); $stmt->bindParam(':IN_DESCRIPTION', $Description, PDO::PARAM_STR, 256); $stmt->bindParam(':OUT_ID', $Id, PDO::PARAM_INT, 4); $OperationDescription = 'ABC.'; $stmt->execute(); ?>
Zgłoszony błąd w linii: $stmt->execute();
<?php <b>Warning</b>: PDOStatement::execute() [<a href='function.PDOStatement-execute'>function.PDOStatement-execute</a>]: SQLSTATE[HY000]: General error: 1414 OUT or INOUT argument 4 for routine SP_A is not a variable or NEW pseudo-variable in BEFORE trigger in <b>plik.php</b> on line <b>72</b><br /> ?>
Proszę o pomoc w rozwiązaniu tego problemu.