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:
None 
Category:Connectors: DBD::mysql ( Perl ) Severity:S4 (Feature request)
Version:all OS:Any (all)
Assigned to: CPU Architecture:Any
Tags: DBD::MySQL, stored procedures

[23 Oct 2006 15:13] Giuseppe Maxia
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});
[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.