in reply to MySQL Table adding with Perl

Did you create the table before inserting information into it?

Replies are listed 'Best First'.
Re^2: MySQL Table adding with Perl
by Anonymous Monk on Mar 06, 2013 at 20:29 UTC
    No. Thanks :)

      Still not working

      use DBI; #Welcoming Phrase print "\n\n Welcome to the world.\n\n"; #Load username database print " Are you a new user? (y/n)\n\n"; my $choice=<STDIN>; chomp $choice; if ($choice eq "n") { print " What is your username?\n\n"; my $username = <STDIN> ; chomp $username; my $connect = DBI->connect( "dbi:mysql:database=Champ;host=localhost", 'root','pass'); print "User $username Active\n"; } if ($choice eq "y") { print " What would you like your username to be?\n\n"; my $newuser = <STDIN>; chomp $newuser; my $connect = DBI->connect( "dbi:mysql:database=Champ;host=localhost", 'root','pass'); my $dbh->do("DROP TABLE IF EXISTS $newuser"); $maketable = ("CREATE TABLE $newuser (A,B,C,D,E)"); my $sql = "INSERT INTO $newuser (A,B,C,D,E) VALUES (?,?,?,?,?)"; $sth = $dbh->prepare($maketable); $sth = execute(); $statement = $connect->prepare($sql); $statement = execute(4,4,4,4,0); print "User $newuser Active\n";

        If you use the following to connect to the database, DBI will tell you more about where things (maybe) go wrong:

        my $connect = DBI->connect( "dbi:mysql:database=Champ;host=localhost", 'root','pass', { RaiseError => 1 }, );

        This saves you adding the error checking in every situation.

        A bit more advice - I like to read passwords from a separate file, or from %ENV or anywhere else. That way, I can't inadverently post the database password when posting (or printing) my script.