http://qs1969.pair.com?node_id=474808


in reply to DBD - Undefined Value using Prepare()

The DBI is telling you that you are using a method from an object that has not been initialized. Most likely, your call to onnect failed, but since you are not checking for errors, you did not realize it.

This statement

my $dbh = DBI->connect("DBI:mysql:$database:$db_server", $user, $passw +ord);

Should be :

my $dbh = DBI->connect("DBI:mysql:$database;host=$db_server", $user, $password, {RaiseError=> 1}) or die $DBI::errstr;

Then, if something goes wrong, the DBI will tell you why, in the right place where you need it.

P.S. Remove that list of modules from your post. It does not add anything useful, and it's just confusing. And, please, don't use line numbers in your code, because it makes difficult to download it.

More useful for you should be to check our Tutorials page for some enlightening reading. (e.g.: How (Not) To Ask A Question, Before asking a database related question ...)