Hello!
Almar van Pel wrote:
>Hello,
>
>I was trying to create a simple perl program, where my domains where listed
>followed by there DNS records.
>But It loops once, and then ends with error DBD::mysql::st fetch failed:
>fetch() without execute() at test.cgi line 61.
>
>I thougt this was the easyest way to do so. But no.. Does anyone have any
>experience with these kind of sub-statements?
>
> $dbh = DBI->connect("DBI:mysql:database=$db_database;host=$db_host",
>$db_user, $db_pw) ||
> &db_error("Databaseverbinding niet gemaakt: $DBI::errstr");
>
> $sql = "select domain from bind_dns_header";
>
> $sth = $dbh->prepare($sql)|| &error("Kan het statement niet voorbereiden:
>$dbh->errstr");
> $sth->execute || &error("Fout bij het communiceren met de database:
>$DBI::errstr");
> $sth->bind_columns(\$domain);
>
> while ($sth->fetch()) { # line 61
>
>
*look at the name of the statement handle above*
> print "$domain with the following records<br> \n";
>
> $sql2 = "select dnsrecord_id from bind_dns_item where domain =
>'$domain'";
>
>
> $sth = $dbh->prepare($sql2)|| &error("Kan het statement niet voorbereiden:
>$dbh->errstr");
>
Here is your problem! You overwrite the $sth which you want to use in
the outer while. Use a different variable for the inner handle. In the
inner while you already fetched all rows for sth returning to the next
outer loop will fail.
> $sth->execute || &error("Fout bij het communiceren met de database:
>$DBI::errstr");
> $sth->bind_columns(\$dnsrecord_id);
> while ($sth->fetch()) {
>
> print "Record: $dnsrecord_id \n";
>
> }
>
> }
>
> $sth->finish();
>
>
Greetings
Ralf
--
Ralf Narozny
Besuchen Sie uns auf der DMS-Expo. SAP, Dokumenten-
management oder das komplette Office ins Portal einbinden?
Wir zeigen es Ihnen - vom 3. bis 5.9. auf der Messe Essen
Halle 3, Stand 3255
SPLENDID Internet GmbH & Co KG
Skandinaviendamm 212, 24109 Kiel, Germany
fon: +49 431 660 97 0, fax: +49 431 660 97 20
mailto:[EMAIL PROTECTED], http://www.splendid.de
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php