SPUG: Two errors I need hashing out
Daryn Nakhuda
daryn at marinated.org
Tue Jan 15 13:11:50 CST 2002
if it's an auto-increment, don't try and explicitly set it to '', that's
probably where it is choking.
change your query to "INSERT into reports
(uid,system_name,last_success_run) values
('$uid','$system_name','$datestamp at $timestamp')";
On Tue, 15 Jan 2002, Susanne Bullo wrote:
> Ok, I will place that in there to see if it fails - thanks.
>
> The weird thing about the number being called out is it's an id number not a
> uid. The uid is assigned by the previous line and it doesn't need to be
> unique. However, the id for this is supposed to be unique but is set to
> automatically increment. So, I don't know why it's trying to overwrite
> something that should automatically increment. Guess I'll look at the
> properties of that table.
>
> Thanks for your help!
>
> Susanne Bullo - Sweet Homes
> <http://refer.ccbill.com/cgi-bin/clicks.cgi?CA=903921&PA=227740>
> DirectTV DSL <http://www.ezinfocenter.com/4216180/dsl>
> Get Paid to Read Email! <http://www.ezinfocenter.com/4216180/mm>
>
>
> -----Original Message-----
> From: Dan Ebert [mailto:mathin at mathin.com]
> Sent: Tuesday, January 15, 2002 10:21 AM
> To: Susanne Bullo
> Cc: Seattle Perl User's Group
> Subject: Re: SPUG: Two errors I need hashing out
>
>
>
> The print on close file handle error could be cause by the failure of the
> open command. You might try
>
> open(FILE,">>$filename") or die $!;
>
> to make sure the file is opened. (The die $! will print the error if it
> fails.)
>
> The second SQL error looks like you are attempting to insert a value into
> a table field which must be unique ... and there is already an entry with
> '127' in that field. The 'key 1' doesn't mean the first value in the
> list of values to insert. It refers to the field in the table which is in
> conflict with the value you are attempting to insert.
>
> If you do want to update the table (or insert if it doesn't exist) you
> might try the 'replace into' mysql command instead of the 'insert into'
>
> Hope that helps.
>
> Dan.
> ----------------------------------------------------------
> Immigration is the sincerest form of flattery.
> - Unknown
> ----------------------------------------------------------
>
>
> On Tue, 15 Jan 2002, Susanne Bullo wrote:
>
> > Being new, I still haven't a complete clue as to what I'm doing. The
> listed
> > program is giving the following two errors:
> >
> > print on closed filehandle main::FILE at sunday line 61.
> > DBD::mysql::st execute failed: Duplicate entry '127' for key 1 at sunday
> > line 79.
> >
> > I'm at a loss as to what the first one is. The second one I'm thinking
> has
> > to do with number assigning within the database but I'm not completely
> sure
> > (there is an id of 127 within the database but that is under id and not
> > under uid which seems to be what "key 1" is referencing).
> >
> > If anyone has a soft spot for a newbie and wants to help me out, I'd
> > appreciate it!
> >
> > #!/usr/bin/perl -w
> > use Time::Local;
> > use POSIX qw(mktime);
> > use DBI;
> > use LWP::UserAgent;
> > use HTTP::Request;
> > use HTTP::Response;
> > &get_date;
> > sub get_date {
> > @days = ('Sunday','Monday','Tuesday','Wednesday',
> > 'Thursday','Friday','Saturday');
> > @months = ('January','February','March','April','May','June','July',
> > 'August','September','October','November','December');
> > ($sec,$min,$hour,$mday,$mon,$year,$wday) =
> (localtime(time))[0,1,2,3,4,5,6];
> > $time = sprintf("%02d:%02d",$hour,$min);
> > if ($year < 50){
> > $year += 2000;
> > }
> > else {
> > $year += 1900;
> > }
> > $date = "$days[$wday], $months[$mon] $mday, $year at $time";
> > $mon2 = $mon + 1;
> > $date2 = "$mon2/$mday/$year";
> > $date3 = "$mon2.$mday.$year";
> > }
> > my $buffer = '';
> > my $buffer2 = '';
> > my $buffer3 = '';
> > my $host = 'localhost';
> > my $database = 'safelist';
> > my $username = 'admin';
> > my $password = 'srb6653';
> > my $ua = new LWP::UserAgent();
> > my $dbh = DBI->connect("DBI:mysql:$database", $username, $password) || die
> > "Failed DBI connect(): $!\n";
> > my $query = "SELECT safelists.email_to, safelists.username,
> > safelists.password, email_txt.email_subject, email_txt.email_text,
> > safelists.uid, members.email from safelists, schedule, email_txt, members
> > where email_txt.id = schedule.SUN and schedule.system_name =
> > safelists.system_name and members.id = safelists.uid and
> > email_txt.email_subject != ''";
> > $buffer .= "===> Executing Query: $query\n\n";
> > my $sth = $dbh->prepare($query);
> > my $rc = $sth->execute();
> > while
> >
> (my($email_to,$username,$password,$email_subject,$email_text,$system_name,$u
> > id,$email) = $sth->fetchrow_array) {
> > my $url = "http://$email_to?action=Send This
> >
> Message&username=$username&password=$password&subject=$email_subject&message
> > =$email_text";
> > $email_text =~ s/\\//g;
> > my $req = HTTP::Request->new(GET=>$url);
> > my $file_path = "./members/data/$username/$system_name/$date3.txt";
> > my $resp = $ua->request($req, $file_path);
> > my $sec_file_path = "members/data/$username";
> > my $outfile = "index.html";
> > my $filename = "$sec_file_path/$outfile";
> > open (FILE,">>$filename");
> > Line 61 -->{ print FILE "<a href=$sec_file_path>Problem on $date3</a>"; }
> > close (FILE);
> > }
> > my $query2 = "SELECT safelists.uid, schedule.system_name from safelists,
> > schedule where schedule.system_name = safelists.system_name and
> schedule.SUN
> > != '0'";
> > $buffer2 .= "===> Executing Query: $query2\n\n";
> > my $sth = $dbh->prepare($query2);
> > my $rc = $sth->execute();
> > while (my($uid,$system_name) = $sth->fetchrow_array) {
> > my $datestamp = $date2;
> > my $timestamp = $time;
> > $buffer3 .= "===> Executing Query: $query3\n\n";
> > my $sth = $dbh->prepare($query3);
> > Line 79 -->my $rc = $sth->execute();
> > }
> > undef $sth;
> > $dbh->disconnect;
> > 0;
> >
> > Susanne Bullo - Sweet Homes
> > DirectTV DSL
> > Get Paid to Read Email!
> >
> >
>
>
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> POST TO: spug-list at pm.org PROBLEMS: owner-spug-list at pm.org
> Subscriptions; Email to majordomo at pm.org: ACTION LIST EMAIL
> Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address
> For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest
> Seattle Perl Users Group (SPUG) Home Page: http://zipcon.net/spug/
>
>
--
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
POST TO: spug-list at pm.org PROBLEMS: owner-spug-list at pm.org
Subscriptions; Email to majordomo at pm.org: ACTION LIST EMAIL
Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address
For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest
Seattle Perl Users Group (SPUG) Home Page: http://zipcon.net/spug/
More information about the spug-list
mailing list