Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wywołana procedura nie zwraca mi wartosci parametru typu OUT.
m.malik
post 12.04.2007, 12:30:19
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 23.05.2003

Ostrzeżenie: (0%)
-----


Witam,
Środowisko:
Baza danych: MySQL 5.0.33 (home.pl).
Procedura:
  1. CREATE PROCEDURE `SP_A`(
  2. IN `IN_DESCRIPTION` VARCHAR(256),
  3. OUT `OUT_ID` INTEGER(4)
  4. )
  5. BEGIN INSERT INTO `tabela` (
  6. `Opis`,
  7. `DataStart`
  8. )
  9. VALUES
  10. (
  11. `IN_DESCRIPTION`,
  12. CURRENT_TIMESTAMP
  13. );
  14. SET OUT_ID = LAST_INSERT_ID();
  15. END


Aplikacja:
PHP : 5.0.x, + pdo_mysql (home.pl)

Wywołanie procedury w php:
  1. <?php
  2. $this->oDB = new PDO('mysql:host=IP;dbname=DB', 'user', 'pw');
  3.  
  4.  $stmt = $this->oDB->prepare("CALL SP_A(:IN_DESCRIPTION, :OUT_ID)");
  5.  $stmt->bindParam(':IN_DESCRIPTION', $Description, PDO::PARAM_STR, 256);
  6.  $stmt->bindParam(':OUT_ID', $Id, PDO::PARAM_INT, 4);
  7.  $OperationDescription = 'ABC.';
  8.  $stmt->execute();
  9. ?>


Zgłoszony błąd w linii: $stmt->execute();
  1. <?php
  2. <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 />
  3. ?>


Proszę o pomoc w rozwiązaniu tego problemu.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.06.2025 - 05:57