Gerald Preston said: > Michael, > > This is the actual code except for the "xxxx": > > my $dbh = DBI->connect( 'DBI:mysql:database=club', 'xxxx', 'xxxx', { > PrintError => 0 } ) or die $DBI::errstr; > my $sql = "insert into wolfies( group_name, me, daily, item, unit, > qty, > amount, tax, total ) > values( ?, ?, ?, ?, ?, ?, > ?, > ?, ? ) "; > my $sth = $dbh->prepare( $sql ) or die $dbh->errstr if $dbh->err; > > $sth->execute( $group_name, $me, $daily, $item, $unit, $qty, $amount, > $tax, $total ) or warn "Cannot execute FIRST Statement!!\n$DBI::errstr"; > > Question? When I created the database club, is there anything I needed > to do concerning permissions or anything? > > I am lost here. I have been writing code on a SUN Oracle systems for > over five years. > > Regards, > > Jerry Did you 'grant' user "xxxx" access to all the tables in database club? > > -----Original Message----- > From: Michael Stassen [mailto:[EMAIL PROTECTED] > Sent: Monday, February 28, 2005 9:29 AM > To: Gerald Preston > Cc: [EMAIL PROTECTED]; mysql@lists.mysql.com > Subject: Re: insert data > > From perldoc DBD::mysql > > use DBI; > > $dsn = "DBI:mysql:database=$database;host=$hostname;port=$port"; > > $dbh = DBI->connect($dsn, $user, $password); > > So it's not a syntax problem. Even if it were, we should detect the > error long before calling prepare or execute. > > Perl is quite clearly telling you what is wrong. Originally, you got > > Can't call method "prepare" on an undefined value. > > for the line > > my $sth = $dbh->prepare( $sql ); > > which means that $dbh is undefined at the time of the call to prepare. > > Now, you are getting > > Can't call method "execute" on an un undefined value > > for the line > > $sth->execute( $group_name, $me, $daily, $item, $unit, $qty, $amount, > $tax, $total ) or warn "Cannot execute FIRST > Statement!!\n$DBI::errstr"; > > which means that $sth is undefined at the time of the call to execute. > > Are you showing us select lines of your code, rather than the actual > code? My best guess right now is that you haven't taken into account > that "my" is a scoping operator in perl, and in the lines you haven't > showed us, the variables in question ($dbh or $sth) go out of scope. > > Michael > > John Doe wrote: >> Am Sonntag, 27. Februar 2005 22.19 schrieb Gerald Preston: >> >> Hi Gerald >> >> >>>The object used: >>> >>> my $dbh=DBI->connect( 'DBI:mysql:database=club', 'xxx, 'xxxxx', { >>>PrintError => 0} ) or die $DBI::errstr; >> >> >> I didn't see this part in your first post :-) >> >> Hmm... I've never seen a '=' in the first argument passed to > DBI-connect... >> >> Here's an functional example I'm using: >> >> my $db ='database'; >> my $host ='hostname'; >> my $port ='1234'; >> $dbh=DBI->connect("DBI:mysql:$db:$host:$port", >> 'a_username', >> 'a_password', >> {RaiseError=>1, >> AutoCommit=>1}) >> or die "$0: $DBI::errstr"; } >> >> >> So, try using "club" instead of "database=club", and a hostname too. >> >> greetings joe >> >> >> [nothing new below] >> >> >>>-----Original Message----- >>>From: John Doe [mailto:[EMAIL PROTECTED] >>>Sent: Sunday, February 27, 2005 6:37 AM >>>To: mysql@lists.mysql.com >>>Subject: Re: insert data >>> >>>Hi Gerald >>> >>> >>>>I am trying to insert data for the first time using MySQL. In Oracle >>>> I used the following: >>>> >>>># my $sql = "insert into bar( group_name, me, daily, item, unit, >>>> qty, amount, tax, total ) >>>> >>>># values( ?, ?, ?, ?, ?, ?, >>>> ?, ?, ? ) "; >>>> my $sth = $dbh->prepare( $sql ); >>>> die $dbh->errstr if $dbh->err; >>>> $sth->execute( $group_name, $me, $daily, $item, $unit, $qty, >>>> $amount, >>>>$tax, $total ) || die "Cannot execute FIRST >>>> Statement!!\n$DBI::errstr"; >>>> >>>> >>>>I keep getting "Can't call method "prepare" on an un undefined value. >>>> All the name listed are correct by looking at MySQLAdmin1.3\4. >>> >>>Apart from David Logan's answer: >>> >>>You have to create the $dbh object first (man DBI); the "undefined >>> value" in >>> >>>the error message refers to that. >>> >>> >>>HTH >>> >>>joe >
-- William R. Mussatto, Senior Systems Engineer Ph. 909-920-9154 ext. 27 FAX. 909-608-7061 -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]