in reply to DBI->connect problem

I think this will work:

sub db_connect { ($database,$user,$password) = @_; my $h = DBI->connect("dbi:mysql:database=$database;host=dbxxx.onea +ndone.co.uk", $user, $password) or printError("Unable to connect to $ +database" . $DBI::errstr); return $h; }

You have to fill in the correct value for "dbxxx.oneandone.co.uk", but otherwise, I think that should do what your db_connect did before. See the DBI documentation for details and Writeup Formatting Tips for some help writing a question that's easy to read.

Replies are listed 'Best First'.
Re^2: DBI->connect problem
by Herkum (Parson) on Jan 21, 2007 at 01:43 UTC
    To extend a little bit on kyle's example the first part of a DBI->connect() is referred to as the dsn or the Data Source Name. The DSN generally is used to store values that are needed to connect to a database. The DSN generally follows the same format for determining which driver to use and what database to connect too. After that any additional parameters will generally be database specific (like user and password).

    For example mysql has a specific parameter mysql_connect_timeout. For DB2 there is db2_query_timeout.

    In your case, the example that you copied looks like to be using parameters from an older version of DBD::mysql. The sample kyle submitted should work. If you have questions you should start looking in the DBI documentation and then move to the driver specific documentation.