Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PDO::PARAM_INPUT_OUTPUT, Problemy z parametrem out procedury mysql
pdusp
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 19.08.2020

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


witam,
sam nie moge rozwiązać problemu dlatego postanowiłem się zwrócić do Was o pomoc.

mam procedure, które zwraca tekst w zmiennej out:

CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_returns_string`( out _txt varchar(50))
BEGIN
set _txt ='berger never dies';
END

i to działa bo można sobie uruchomić:
set @_txt = '0';
call test.sp_returns_string(@_txt);
select @_txt;


nie działa juz przez PHP, zmienna wyjściowa jest pusta...
co robię źle?

$db = new PDO('mysql:host=localhost;dbname=test', 'root', '');

$value2 = '123456hhh';
$stmt = $db->prepare("call sp_returns_string(?) ;"); // the DECLARE trick is needed with DBLib

$stmt->bindParam(1, $value, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 4000);


$stmt->execute();

echo $value;

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
pdusp
post
Post #2





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 19.08.2020

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


dziękuje, ale nadal nie znam poprawnego rozwiązania:

znalazłem wiele rzeczy, nie ma ostateczne rozwiązanie mojego problemu

np. piszą o bugu w mysql w 2010 roku...

$stmt = $db->prepare("CALL sp_returns_string(:in_string, @out_string)");
$value='pppppp';
$stmt->bindParam(':in_string', $value, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 4000);

$stmt->execute();

// fetch the output
$outputArray = this->db->query("select @out_string")->fetch(PDO::FETCH_ASSOC);

print "procedure returned " . $outputArray['@out_string'] . "\n";

tu dostaje blad przez to this chyba....
Parse error: syntax error, unexpected '->' (T_OBJECT_OPERATOR) in C:\xampp\htdocs\trace\test2.php on line 28
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 15.10.2025 - 16:35