Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]135[/thread]

brauche dringend hilfe: wer kann mir helfen (Seite 3)

Leser: 2


<< |< 1 2 3 4 5 >| >> 43 Einträge, 5 Seiten
renee
 2004-01-07 23:54
#740 #740
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das ist der Code, wie er bei funktioniert. Übernimm ihn mal 1:1 und poste das Ergebnis
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#! c:/perl/bin/perl -w

use strict;
use CGI qw(:standard);
use DBI;

#my $dbh = DBI->connect('DBI:ODBC:db1');

my $sqlstatement=qq§SELECT Tabelle1.Adresse, Name, Telefon, Tabelle2.Rechnungsbetrag
FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.Kundennummer = Tabelle2.Kundennummer§;

#my $sth = $dbh->prepare($sqlstatement);
#$sth->execute || die "Could not execute SQL statement ... maybe invalid?";

print header(-type => 'text/html'), start_html(-title => 'Antwort');
print h3('Treffer'), hr();

my @row;
#while (@row=$sth->fetchrow_array)
#{print "<p>@row</p>\n"}

print qq§</body>\n</html>§;
\n\n

<!--EDIT|renee|1073512489-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
sonnenprinz
 2004-01-08 12:03
#741 #741
User since
2004-01-05
36 Artikel
BenutzerIn
[default_avatar]
hallo renee, habe es 1:1 übernommen und die tabellen-print zeile eingefügt. ist sie dort richtig plaziert???
funktioniert aber immer noch nicht.
hier mein jetziges script:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#! c:/perl/bin/perl -w

use strict;
use CGI qw(:standard);
use DBI;

#my $dbh = DBI->connect('DBI:ODBC:db1');

my $sqlstatement=qq§SELECT Tabelle1.Adresse, Name, Telefon, Tabelle2.Rechnungsbetrag
FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.Kundennummer = Tabelle2.Kundennummer§;

#my $sth = $dbh->prepare($sqlstatement);
#$sth->execute || die "Could not execute SQL statement ... maybe invalid?";

print header(-type => 'text/html'), start_html(-title => 'Antwort');
print h3('Treffer'), hr();

my @row;
#while (@row=$sth->fetchrow_array)
#{print "<p>@row</p>\n"}

print '<table>';
while (@row=$sth->fetchrow_array){
print '<tr>';
print '<td>',$_,'</td>' for(@row);
print '</tr>';
}
print '</table>';

print qq§</body>\n</html>§;



hier die neuen error-log zeilen:

[Thu Jan 08 10:23:31 2004] [notice] Parent: Created child process 936
[Thu Jan 08 10:23:32 2004] [notice] Child 936: Child process is running
[Thu Jan 08 10:23:32 2004] [notice] Child 936: Acquired the start mutex.
[Thu Jan 08 10:23:33 2004] [notice] Child 936: Starting 250 worker threads.
[Thu Jan 08 10:57:39 2004] [error] [client 127.0.0.1] Premature end of script headers: kunden.pl, referer: http://localhost/kunden.html
[Thu Jan 08 10:57:39 2004] [error] [client 127.0.0.1] Bareword found where operator expected at C:/Programme/Apache Group/Apache2/cgi-bin/kunden.pl line 10, near "FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.Kundennummer = Tabelle2.Kundennummer&sect", referer: http://localhost/kunden.html
[Thu Jan 08 10:57:39 2004] [error] [client 127.0.0.1]   (Might be a runaway multi-line && string starting on line 9), referer: http://localhost/kunden.html
[Thu Jan 08 10:57:39 2004] [error] [client 127.0.0.1] (Do you need to predeclare FROM?), referer: http://localhost/kunden.html
[Thu Jan 08 10:57:39 2004] [error] [client 127.0.0.1] Operator or semicolon missing before &sect at C:/Programme/Apache Group/Apache2/cgi-bin/kunden.pl line 10., referer: http://localhost/kunden.html
[Thu Jan 08 10:57:39 2004] [error] [client 127.0.0.1] Ambiguous use of & resolved as operator & at C:/Programme/Apache Group/Apache2/cgi-bin/kunden.pl line 10., referer: http://localhost/kunden.html
[Thu Jan 08 10:57:39 2004] [error] [client 127.0.0.1] syntax error at C:/Programme/Apache Group/Apache2/cgi-bin/kunden.pl line 10, near "FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.Kundennummer = Tabelle2.Kundennummer&sect", referer: http://localhost/kunden.html
[Thu Jan 08 10:57:39 2004] [error] [client 127.0.0.1] Can't find string terminator "&" anywhere before EOF at C:/Programme/Apache Group/Apache2/cgi-bin/kunden.pl line 22., referer: http://localhost/kunden.html
[Thu Jan 08 10:58:22 2004] [error] [client 127.0.0.1] Premature end of script headers: kunden.pl, referer: http://localhost/kunden.html
[Thu Jan 08 10:58:22 2004] [error] [client 127.0.0.1] Bareword found where operator expected at C:/Programme/Apache Group/Apache2/cgi-bin/kunden.pl line 10, near "FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.Kundennummer = Tabelle2.Kundennummer&sect", referer: http://localhost/kunden.html
[Thu Jan 08 10:58:22 2004] [error] [client 127.0.0.1]   (Might be a runaway multi-line && string starting on line 9), referer: http://localhost/kunden.html
[Thu Jan 08 10:58:22 2004] [error] [client 127.0.0.1] (Do you need to predeclare FROM?), referer: http://localhost/kunden.html
[Thu Jan 08 10:58:22 2004] [error] [client 127.0.0.1] Operator or semicolon missing before &sect at C:/Programme/Apache Group/Apache2/cgi-bin/kunden.pl line 10., referer: http://localhost/kunden.html
[Thu Jan 08 10:58:22 2004] [error] [client 127.0.0.1] Ambiguous use of & resolved as operator & at C:/Programme/Apache Group/Apache2/cgi-bin/kunden.pl line 10., referer: http://localhost/kunden.html
[Thu Jan 08 10:58:23 2004] [error] [client 127.0.0.1] syntax error at C:/Programme/Apache Group/Apache2/cgi-bin/kunden.pl line 10, near "FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.Kundennummer = Tabelle2.Kundennummer&sect", referer: http://localhost/kunden.html
[Thu Jan 08 10:58:23 2004] [error] [client 127.0.0.1] Can't find string terminator "&" anywhere before EOF at C:/Programme/Apache Group/Apache2/cgi-bin/kunden.pl line 22., referer: http://localhost/kunden.html
[Thu Jan 08 10:59:41 2004] [error] [client 127.0.0.1] Premature end of script headers: kunden.pl, referer: http://localhost/kunden.html
[Thu Jan 08 10:59:41 2004] [error] [client 127.0.0.1] Bareword found where operator expected at C:/Programme/Apache Group/Apache2/cgi-bin/kunden.pl line 10, near "FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.Kundennummer = Tabelle2.Kundennummer&sect", referer: http://localhost/kunden.html
[Thu Jan 08 10:59:41 2004] [error] [client 127.0.0.1]   (Might be a runaway multi-line && string starting on line 9), referer: http://localhost/kunden.html
[Thu Jan 08 10:59:41 2004] [error] [client 127.0.0.1] (Do you need to predeclare FROM?), referer: http://localhost/kunden.html
[Thu Jan 08 10:59:41 2004] [error] [client 127.0.0.1] Operator or semicolon missing before &sect at C:/Programme/Apache Group/Apache2/cgi-bin/kunden.pl line 10., referer: http://localhost/kunden.html
[Thu Jan 08 10:59:41 2004] [error] [client 127.0.0.1] Ambiguous use of & resolved as operator & at C:/Programme/Apache Group/Apache2/cgi-bin/kunden.pl line 10., referer: http://localhost/kunden.html
[Thu Jan 08 10:59:41 2004] [error] [client 127.0.0.1] syntax error at C:/Programme/Apache Group/Apache2/cgi-bin/kunden.pl line 10, near "FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.Kundennummer = Tabelle2.Kundennummer&sect", referer: http://localhost/kunden.html
[Thu Jan 08 10:59:41 2004] [error] [client 127.0.0.1] Global symbol "$sth" requires explicit package name at C:/Programme/Apache Group/Apache2/cgi-bin/kunden.pl line 23., referer: http://localhost/kunden.html
[Thu Jan 08 10:59:41 2004] [error] [client 127.0.0.1] Can't find string terminator "&" anywhere before EOF at C:/Programme/Apache Group/Apache2/cgi-bin/kunden.pl line 30., referer: http://localhost/kunden.html

gruss uwe


Edit renee: code-Tags eingefügt\n\n

<!--EDIT|renee|1073556926-->
renee
 2004-01-08 12:20
#742 #742
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#! c:/perl/bin/perl -w

use strict;
use CGI qw(:standard);
use DBI;

my $dbh = DBI->connect('DBI:ODBC:db1') or die "Fehler beim Connect:",$DBI::errstr;

my $sqlstatement = "SELECT Tabelle1.Adresse, Name, Telefon, Tabelle2.Rechnungsbetrag FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.Kundennummer = Tabelle2.Kundennummer";

my $sth = $dbh->prepare($sqlstatement) or die "Fehler beim prepare",$DBI::errstr;
$sth->execute or die "Could not execute SQL statement...maybe invalid?";

print header(-type => 'text/html'), start_html(-title => 'Antwort');
print h3('Treffer'), hr();

my @row;

print '<table>';
while (@row=$sth->fetchrow_array()){
print '<tr>';
print '<td>',$_,'</td>' for(@row);
print '</tr>';
}
print '</table>';

print "</body>\n</html>";

ersetz mal die § durch "... und das SQL-Statement in eine Zeile schreiben...\n\n

<!--EDIT|renee|1073557389-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
sonnenprinz
 2004-01-08 12:26
#743 #743
User since
2004-01-05
36 Artikel
BenutzerIn
[default_avatar]
habe deins übernommen. klappt auch nicht.
hier neuester auszug aus error-log:

[Thu Jan 08 11:22:48 2004] [error] [client 127.0.0.1] Premature end of script headers: kunden.pl, referer: http://localhost/kunden.html
[Thu Jan 08 11:22:48 2004] [error] [client 127.0.0.1] DBI connect('db1','',...) failed: [Microsoft][ODBC Driver Manager] Der Datenquellenname wurde nicht gefunden, und es wurde kein Standardtreiber angegeben (SQL-IM002)(DBD: db_login/SQLConnect err=-1) at C:/Programme/Apache Group/Apache2/cgi-bin/kunden.pl line 7, referer: http://localhost/kunden.html
[Thu Jan 08 11:22:48 2004] [error] [client 127.0.0.1] Can't call method "prepare" on an undefined value at C:/Programme/Apache Group/Apache2/cgi-bin/kunden.pl line 11., referer: http://localhost/kunden.html
renee
 2004-01-08 12:30
#744 #744
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Sieht doch schon besser aus ;)

die letzten beiden Fehlermeldungen haben damit zu tun, dass keine Verbindung zur Datenbank aufgebaut werden konnte. Du musst mal nachschaue, wie der Verbindungsaufbau mit ODBC richtig geht...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
sonnenprinz
 2004-01-08 12:34
#745 #745
User since
2004-01-05
36 Artikel
BenutzerIn
[default_avatar]
ok, werde ich versuchen. wie ist das jetzt mit der rechnung als text. kannst du mir das noch eben sagen? denke den rest werde ich dann versuchen. danke nochmal.

gruss uwe
renee
 2004-01-08 12:34
#746 #746
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
$dbh = DBI->connect('dbi:ODBC:db1', 'user', 'password');
durch Dein User und Passwort ersetzen... Überprüfe, ob es die Datenquelle wirklich gibt...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
renee
 2004-01-08 12:39
#747 #747
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
achso...die txt:
Code: (dl )
1
2
3
4
5
6
my $rechnung = 'Pfad/zur/txt/';
open(DATEI,">$rechnung") or print $!;
print DATEI "Rechnungsnummer:\t",$rechnungsnummer,"\n";
print DATEI "Name:\t",$name,"\n";
# usw. wobei $rechnungsnummer etc. aus der Datenbank genommen werden
close DATEI;
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
sonnenprinz
 2004-01-08 12:42
#748 #748
User since
2004-01-05
36 Artikel
BenutzerIn
[default_avatar]
jetzt verstehe ich nichts mehr. bekomme ich so die rechnung im txt-format???
die datenquelle gibt es.
habe ich was missverstanden?
sonnenprinz
 2004-01-08 12:44
#749 #749
User since
2004-01-05
36 Artikel
BenutzerIn
[default_avatar]
das jetzt mein neuestes script? ist es so korrekt???

#! c:/perl/bin/perl -w

use strict;
use CGI qw(:standard);
use DBI;

my $dbh = DBI->connect('DBI:ODBC:db1');

my $sqlstatement = "SELECT Tabelle1.Adresse, Name, Telefon, Tabelle2.Rechnungsbetrag FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.Kundennummer = Tabelle2.Kundennummer";

my $sth = $dbh->prepare($sqlstatement);
$sth->execute or die "Could not execute SQL statement...maybe invalid?";

print header(-type => 'text/html'), start_html(-title => 'Antwort');
print h3('Treffer'), hr();

my @row;

print '<table>';
while (@row=$sth->fetchrow_array()){
print '<tr>';
print '<td>',$_,'</td>' for(@row);
print '</tr>';
}
print '</table>';

print "</body>\n</html>";

my $rechnung = 'Pfad/zur/txt/';
open(DATEI,">$rechnung") or print $!;
print DATEI "Rechnungsnummer:\t",$rechnungsnummer,"\n";
print DATEI "Name:\t",$name,"\n";
# usw. wobei $rechnungsnummer etc. aus der Datenbank genommen werden
close DATEI;

gruss uwe
<< |< 1 2 3 4 5 >| >> 43 Einträge, 5 Seiten



View all threads created 2004-01-07 19:34.