anoniem Geplaatst: 20 april 2002 Delen Geplaatst: 20 april 2002 ik heb een perl-script ontwikkeld dat de uitvoer van een formulier (textarea) in een mysql-database moet plaatsen. het script heb ik al een keer (1 keer dus) geprobeerd en werkte toen prima. Zojuist, met een andere tekst deed ie het niet meer. ik heb in de tekst al backslashes geplaatst, maar dat helpt niet. Met onderstaande perlcode plaats ik de uitvoer in de database: [code:1:31d7742d4c] my $dbh = DBI->connect("DBI:mysql:$mysql_database:$mysql_server",$mysql_username,$mysql_password) or die "Unable to connect to MySQL database: $dbh->errstrn"; my $sth = $dbh->prepare("INSERT INTO html VALUES('$tekst')"); $sth->execute or die "Unable to execute query: $dbh->errstrn"; $sth->finish; $dbh->disconnect; [/code:1:31d7742d4c] wat doe ik verkeerd? Quote Link naar reactie
anoniem Geplaatst: 20 april 2002 Auteur Delen Geplaatst: 20 april 2002 Niet vertellen wat voor foutmelding je krijgt :smile: Quote Link naar reactie
anoniem Geplaatst: 20 april 2002 Auteur Delen Geplaatst: 20 april 2002 perl geeft geen foutmelding, het is geen php. de uitvoer van het script wordt gewoon gestopt, dus er is op een bepaalde plaats in het script iets mis. dat is bij het verwerken van bovenstaande code, ben ik nagegaan. na de invoer van het form op niks te hebben gezet, deed het script het wel helemaal. het ligt dus aan de invoer van het formulier, een lange tekst kan ie niet verwerken. snappie? Quote Link naar reactie
anoniem Geplaatst: 20 april 2002 Auteur Delen Geplaatst: 20 april 2002 Perl geeft wel degelijk foutmeldingen, alleen zal je even in je webserver logs moeten kijken wat er fout is gegaan. Schrijf als test eens je query naar het scherm in plaats van meteen uitvoeren op de database, misschien dat dat meer duidelijkheid geeft. Quote Link naar reactie
anoniem Geplaatst: 21 april 2002 Auteur Delen Geplaatst: 21 april 2002 ik heb de oplossing inmiddels gevonden: gewoon geen aanhalingstekens gebruiken. bedankt voor jullie suggesties!! Quote Link naar reactie
anoniem Geplaatst: 21 april 2002 Auteur Delen Geplaatst: 21 april 2002 Dat is natuurlijk geen oplossing (lijkt mij). Escape de aanhalingstekens dan.. $tekst =~ s/(['"])/\$1/g; (o.i.d.) of misschien is er nog wel een functie voor ook. Daarbij geeft Perl met de optie -w in de eerste regel meer waarschuwingen. En bestaan er ook verschillende modules om errors (net als in php) in de browser weer te geven. Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen