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]

Reply via email to