Bug #23554 Add support for IN and INOUT parameters to DBD::mysql
| Submitted: | 23 Oct 2006 15:13 | Modified: | 21 Feb 2013 21:59 |
|---|---|---|---|
| Reporter: | Giuseppe Maxia | Email Updates: | |
| Status: | Unsupported | Impact on me: | |
| Category: | Connectors: DBD::mysql ( Perl ) | Severity: | S4 (Feature request) |
| Version: | all | OS: | Any (all) |
| Assigned to: | CPU Architecture: | Any | |
| Tags: | DBD::MySQL, stored procedures | ||
[3 May 2012 19:59]
Christopher Fitzner
Wow, 5 years later and this still isn't done?
[21 Feb 2013 21:59]
Sveta Smirnova
Thank you for the report. We don't work on DBD::mysql bugs anymore. All its bugs should go to CPAN: https://rt.cpan.org/Public/Dist/Display.html?Name=DBD-mysql I re-submitted your report to https://rt.cpan.org/Public/Bug/Display.html?id=83519 Please subscribe to the new report on CPAN and work with DBD::mysql developers in case if they need additional details.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.038 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.
Description: The DBI defines a method "bind_param_inout" to handle IN and INOUT parameters with stored procedures. The underlying drivers should implement such method. However, DBD::mysql does not. If we want to use stored procedures with IN and INOUT parameters, we need such method to be implemented. If you try to use it, it will issue this error: DBD::mysql::st bind_param_inout failed: Output parameters not implemented ... How to repeat: #!/usr/bin/perl use strict; use warnings; use DBI; my $dbh = DBI->connect("DBI:mysql:test" . ";mysql_read_default_file=$ENV{HOME}/.my.cnf", undef, undef, {RaiseError => 1}) or die "can't connect\n"; my $query = qq{ call some_proc(?) }; my $sth = $dbh->prepare($query); my $param = 1; $sth->bind_param_inout(1, \$param, 1); $sth->execute(); Suggested fix: A workaround is possible, with user variables. my $param = 1; $dbh->do(qq{SET \@result = ? }, undef, $param); my $query = qq{call some_proc(\@result)}; my $sth = $dbh->prepare($query); $sth->execute(); my ($result) = $dbh->selectrow_array(qq{select \@result});